Last updated: 2021-03-03

Checks: 7 0

Knit directory: emlr_mod_v_XXX/

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 8dc15b5. 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:    .Rhistory
    Ignored:    .Rproj.user/

Unstaged changes:
    Modified:   data/auxillary/params_local.rds

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/mapping_cant.Rmd) and HTML (docs/mapping_cant.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
html 89c3e58 Donghe-Zhu 2021-03-03 Build site.
html c407a50 Donghe-Zhu 2021-03-03 Build site.
html c911669 Donghe-Zhu 2021-03-03 Build site.
html b71c719 Donghe-Zhu 2021-03-01 Build site.
html 13666ca Donghe-Zhu 2021-03-01 Build site.
html c6e60fe Donghe-Zhu 2021-03-01 Build site.
html 7a388f7 Donghe-Zhu 2021-03-01 Build site.
html 799e913 Donghe-Zhu 2021-03-01 Build site.
html 66ff99f Donghe-Zhu 2021-03-01 Build site.
html ac9bb7a Donghe-Zhu 2021-02-28 Build site.
html efdc047 Donghe-Zhu 2021-02-28 Build site.
html e9a7418 Donghe-Zhu 2021-02-28 Build site.
html e152917 Donghe-Zhu 2021-02-28 Build site.
html feb991c Donghe-Zhu 2021-02-27 Build site.
html 287123c Donghe-Zhu 2021-02-27 Build site.
html 54d5b5b Donghe-Zhu 2021-02-27 Build site.
html 330f064 Donghe-Zhu 2021-02-27 Build site.
html adbc9bc Donghe-Zhu 2021-02-27 Build site.
html 5937141 Donghe-Zhu 2021-02-27 Build site.
html 4414bbf Donghe-Zhu 2021-02-27 Build site.
html a265efb Donghe-Zhu 2021-02-27 Build site.
html 19edd1e Donghe-Zhu 2021-02-27 Build site.
html f20483f Donghe-Zhu 2021-02-26 Build site.
html 6a2c7b3 Donghe-Zhu 2021-02-25 Build site.
html 02b976d Donghe-Zhu 2021-02-24 Build site.
html 354c224 Donghe-Zhu 2021-02-24 Build site.
html 1a0a88a Donghe-Zhu 2021-02-24 Build site.
html 57f701e Donghe-Zhu 2021-02-24 Build site.
html 06f3149 Donghe-Zhu 2021-02-16 Build site.
html 401eab3 Donghe-Zhu 2021-02-15 Build site.
html e3bba84 Donghe-Zhu 2021-02-15 Build site.
html 5dce4b1 Donghe-Zhu 2021-02-15 Build site.
html 4469a0c Donghe-Zhu 2021-02-13 Build site.
html 5ae6a69 Donghe-Zhu 2021-02-10 Build site.
html 05385dc Donghe-Zhu 2021-02-10 Build site.
Rmd 67fa8d0 Donghe-Zhu 2021-02-09 local rebuild
html f791ae4 Donghe-Zhu 2021-02-09 Build site.
html f71ae34 Donghe-Zhu 2021-02-09 Build site.
html c011832 Donghe-Zhu 2021-02-09 Build site.
html a145fa7 Donghe-Zhu 2021-02-09 Build site.
html c344e42 Donghe-Zhu 2021-02-08 Build site.
Rmd 8f5fa79 Donghe-Zhu 2021-02-08 local rebuild
html 2f095d7 Donghe-Zhu 2021-02-07 Build site.
html 2305044 Donghe-Zhu 2021-02-07 Build site.
html 1fad5f1 Donghe-Zhu 2021-02-07 Build site.
html ca03c39 Donghe-Zhu 2021-02-07 Build site.
html e2ffc14 Donghe-Zhu 2021-02-05 Build site.
html cd7c52c Donghe-Zhu 2021-02-04 Build site.
Rmd c85e2ef jens-daniel-mueller 2021-02-04 “atmospheric pCO2 increase” approach for surface cant calculation
Rmd 42b8495 Donghe-Zhu 2021-02-03 plots
html bcf84f4 Donghe-Zhu 2021-02-02 Build site.
html a518739 Donghe-Zhu 2021-02-01 Build site.
html 61666de Donghe-Zhu 2021-01-31 Build site.
html 865b582 Donghe-Zhu 2021-01-31 Build site.
html 3e68089 Donghe-Zhu 2021-01-31 Build site.
html ecf335c Donghe-Zhu 2021-01-31 Build site.
html a618965 Donghe-Zhu 2021-01-31 Build site.
html 59e006e Donghe-Zhu 2021-01-31 Build site.
html a1c8f87 Donghe-Zhu 2021-01-31 Build site.
Rmd 66daaf4 Donghe-Zhu 2021-01-31 local rebuild
html ae5c18f Donghe-Zhu 2021-01-31 Build site.
html b50fe52 Donghe-Zhu 2021-01-31 Build site.
Rmd a543fb2 Donghe-Zhu 2021-01-31 local rebuild
html ac99ae5 jens-daniel-mueller 2021-01-29 code review
html b5bdcaf Donghe-Zhu 2021-01-29 Build site.
Rmd b234505 Donghe-Zhu 2021-01-29 MLR approach across all depth
html 442010d Donghe-Zhu 2021-01-29 Build site.
html 372adf5 Donghe-Zhu 2021-01-29 Build site.
html af8788e Donghe-Zhu 2021-01-29 Build site.
html 21c91c9 Donghe-Zhu 2021-01-29 Build site.
html eded038 Donghe-Zhu 2021-01-29 Build site.
html 541d4dd Donghe-Zhu 2021-01-29 Build site.
html 6a75576 Donghe-Zhu 2021-01-28 Build site.
html 16fba40 Donghe-Zhu 2021-01-28 Build site.
html 12bc567 Donghe-Zhu 2021-01-27 Build site.
html ceed31b Donghe-Zhu 2021-01-27 Build site.
html 342402d Donghe-Zhu 2021-01-27 Build site.
html 5bad5c2 Donghe-Zhu 2021-01-27 Build site.
html 61efb56 Donghe-Zhu 2021-01-25 Build site.
html 48f638e Donghe-Zhu 2021-01-25 Build site.
Rmd 17a7d1a Donghe-Zhu 2021-01-25 MLR = SO
html c1cec47 Donghe-Zhu 2021-01-25 Build site.
html 05ffb0c Donghe-Zhu 2021-01-25 Build site.
html 8b97165 Donghe-Zhu 2021-01-25 Build site.
html c569946 Donghe-Zhu 2021-01-24 Build site.
html a2f0d56 Donghe-Zhu 2021-01-23 Build site.
html 28509fc Donghe-Zhu 2021-01-23 Build site.
html 4c28e4a Donghe-Zhu 2021-01-22 Build site.
html 24cc264 jens-daniel-mueller 2021-01-22 cleaned /docs before creating copies
html 88eb28f Donghe-Zhu 2021-01-21 Build site.
Rmd 72f8e94 Donghe-Zhu 2021-01-21 DIC plots
html 2679490 Donghe-Zhu 2021-01-21 Build site.
Rmd 962521f Donghe-Zhu 2021-01-21 Test with nitrate replace oxygen as predictor, atmospheric equilibrium and plot set to n
html 7891955 Donghe-Zhu 2021-01-21 Build site.
Rmd 13c3031 Donghe-Zhu 2021-01-21 Test with nitrate replace oxygen as predictor, atmospheric equilibrium and plot set to n
html d4cf1cb Donghe-Zhu 2021-01-21 Build site.
Rmd 167eeec Donghe-Zhu 2021-01-21 surface DIC calculation with atmospheric equilibrium option
html 1f3e5b6 jens-daniel-mueller 2021-01-20 Build site.
Rmd 0e7bdf1 jens-daniel-mueller 2021-01-15 cleaning template repository
html 0e7bdf1 jens-daniel-mueller 2021-01-15 cleaning template repository
html 73cbef3 jens-daniel-mueller 2021-01-15 Build site.
html 4571843 jens-daniel-mueller 2021-01-14 revision and html deleted for template copying
html 23151cd jens-daniel-mueller 2021-01-14 Build site.
html b3564aa jens-daniel-mueller 2021-01-14 Build site.
html 8d032c3 jens-daniel-mueller 2021-01-14 Build site.
html 022871c Donghe-Zhu 2021-01-13 Build site.
Rmd d44f36f Donghe-Zhu 2021-01-13 reorder analysis final
html 17dee1d jens-daniel-mueller 2021-01-13 Build site.
html a076226 Donghe-Zhu 2021-01-11 Build site.
html 7cdea0c jens-daniel-mueller 2021-01-06 Build site.
Rmd b5934dd jens-daniel-mueller 2021-01-06 local rebuild after revision
html fa85b93 jens-daniel-mueller 2021-01-06 Build site.
html e5cb81a Donghe-Zhu 2021-01-05 Build site.
html a499f10 Donghe-Zhu 2021-01-05 Build site.
Rmd 715bdb4 Donghe-Zhu 2021-01-02 model modification
html fb8a752 Donghe-Zhu 2020-12-23 Build site.
Rmd 82e3c9c Donghe-Zhu 2020-12-23 first build after creating model template
html 8fae0b2 Donghe-Zhu 2020-12-21 Build site.
Rmd 00a1322 Donghe-Zhu 2020-12-21 first build after creating model template
html c8b76b3 jens-daniel-mueller 2020-12-19 Build site.
Rmd b5fedce jens-daniel-mueller 2020-12-19 first build after creating model template
Rmd 8e8abf5 Jens Müller 2020-12-18 Initial commit

1 Required data

1.1 Predictor fields

Currently, we use following cmorized climatology predictor fields in 2007:

predictors <-
  read_csv(paste(path_version_data,
                 "predictors_M2007.csv",
                 sep = ""))

predictors_surface <-
  read_csv(paste(path_version_data,
                 "predictors_surface_M2007.csv",
                 sep = ""))

1.2 Atm. pCO2

Required only to estimate the change of Cant in surface water and assuming that the ocean pCO2 trend follows the atmospheric forcing.

co2_atm_tref <-
  read_csv(paste(path_version_data,
                 "co2_atm_tref.csv",
                 sep = ""))

1.3 MLR models

lm_best_cant <-
  read_csv(paste(path_version_data,
                 "lm_best_cant.csv",
                 sep = ""))

2 Join MLRs + climatologies

# remove predictor variable from model
lm_best_cant <- lm_best_cant %>% 
  mutate(model = str_remove(model, paste(params_local$MLR_target, "~ ")))

# join predictors and MLR
cant <- full_join(predictors, lm_best_cant)

if (params_local$MLR_basins == "SO" || params_local$MLR_basins == "5") {
  cant <- cant %>%
    drop_na()
}

rm(predictors, lm_best_cant)

3 Map Cant

3.1 Deep water

3.1.1 Apply MLRs to predictor

cant <- b_cant(cant)

3.1.2 Sections by model

Zonal section plots are produced for every 20° longitude, each era and for all models individually. Plots can be accessed here:

  • /nfs/kryo/work/jenmueller/emlr_cant/model/v_XXX/figures/Cant_model_sections/
if (params_local$plot_all_figures == "y") {

cant_M <-
  read_csv(paste(path_version_data,
                 "cant_M.csv", sep = ""))

cant_M <- cant_M %>%
  rename(cant_M = cant, cant_pos_M = cant_pos)

cant_join <- left_join(cant, cant_M) %>%
  mutate(cant_offset = cant - cant_M,
         cant_pos_offset = cant_pos - cant_pos_M)

  for (i_eras in unique(cant_join$eras)) {
    #i_eras <- unique(cant_join$eras)[1]
    cant_eras <- cant_join %>%
      filter(eras == i_eras)
    
    for (i_lon in params_global$longitude_sections_regular) {
      #i_lon <- params_global$longitude_sections_regular[1]
      cant_eras_lon <- cant_eras %>%
        filter(lon == i_lon)
      
      # limits = max(abs(cant_eras_lon$cant_offset)) * c(-1, 1)
      
      cant_eras_lon %>%
        ggplot(aes(lat, depth, z = cant_offset)) +
        stat_summary_2d(
          fun = "mean",
          na.rm = TRUE,
          bins = 20,
          col = "grey"
        ) +
        scale_fill_divergent(name = "Cant offset") +
        scale_y_reverse(limits = c(params_global$plotting_depth, NA)) +
        scale_x_continuous(limits = c(-85, 85)) +
        labs(title = paste(
          "eras:",
          i_eras,
          "| lon:",
          i_lon,
          "|",
          params_local$Version_ID
        )) +
        facet_wrap( ~ model, ncol = 5)
      
      ggsave(
        paste(
          path_version_figures,
          "Cant_model_sections/",
          paste("Cant_model",
                i_eras,
                "lon",
                i_lon,
                "section.png",
                sep = "_"),
          sep = ""
        ),
        width = 17,
        height = 9
      )
      
    }
  }

  rm(cant_join, cant_M, cant_eras, cant_eras_lon, i_eras, i_lon)

}

3.2 Surface water

As outlined in Gruber et al. (2019), a equilibrium approach was applied to estimate Cant in surface waters, assuming that the CO2 system in these waters has followed the increase in atmospheric CO2 closely.

The first approach to calculate equilibrium Cant changes applies eq 10.2.16 from OBD:

\(\Delta\)tCant,eq(t2 − t1) = 1∕\(\gamma\) ⋅ DIC/pCO2 ⋅ (pCO2,atm (t2)− pCO2,atm(t1))

, where DIC and pCO2 are the in situ values, where \(\gamma\) is the buffer (Revelle) factor and where we evaluated the right-hand side using seacarb employing the Luecker constants using the climatological values for temperature, salinity, DIC and Alk.

The second option for the surface Cant calculation is based on atmospheric equilibrium assumption. That is calculate dCant from reference year DIC, which are obtained using seacarb with TAlk climatology and reference year pCO2.

3.2.1 pCO2 climatology

Plots below show the calculated climatological pCO2 values.

if (params_local$depth_min != 0) {
  if (params_local$surface_DIC_calculation == "revelle factor" |
      params_local$surface_DIC_calculation == "atmospheric pCO2 increase") {
    # calculate pCO2 from talk and tco2 climatology
    predictors_surface <- predictors_surface %>%
      mutate(
        pCO2 = carb(
          flag = 15,
          var1 = TAlk * 1e-6,
          var2 = TCO2 * 1e-6,
          S = sal,
          T = temp,
          P = depth / 10,
          Pt = phosphate * 1e-6,
          Sit = silicate * 1e-6,
          k1k2 = "l"
        )$pCO2
      )
  }
}
if (params_local$depth_min != 0) {
  if (params_local$surface_DIC_calculation == "revelle factor" |
      params_local$surface_DIC_calculation == "atmospheric pCO2 increase") {
    p_map_climatology(df = predictors_surface,
                      var = "pCO2")
  }
}  

Version Author Date
287123c Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
4c28e4a Donghe-Zhu 2021-01-22
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
a499f10 Donghe-Zhu 2021-01-05
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19
if (params_local$depth_min != 0) {
  if (params_local$surface_DIC_calculation == "revelle factor") {
    p_section_climatology_regular(df = predictors_surface,
                                  var = "pCO2",
                                  surface = "y")
  }
}

3.2.2 Revelle factor

Plots below show the calculated climatological Revelle factor values.

if (params_local$depth_min != 0) {
  if (params_local$surface_DIC_calculation == "revelle factor") {
    predictors_surface <- predictors_surface %>%
      mutate(
        rev_fac = buffer(
          flag = 15,
          var1 = TAlk * 1e-6,
          var2 = TCO2 * 1e-6,
          S = sal,
          T = temp,
          P = depth / 10,
          Pt = phosphate * 1e-6,
          Sit = silicate * 1e-6,
          k1k2 = "l"
        )$BetaD
      )
  }
}
if (params_local$depth_min != 0) {
  if (params_local$surface_DIC_calculation == "revelle factor") {
    p_map_climatology(df = predictors_surface,
                      var = "rev_fac")
  }
}
if (params_local$depth_min != 0) {
  if (params_local$surface_DIC_calculation == "revelle factor") {
    p_section_climatology_regular(df = predictors_surface,
                                  var = "rev_fac",
                                  surface = "y")
  }
}

3.2.3 Cant calculation

if (params_local$depth_min != 0) {
  
  # surface cant calculation with revelle factor option
  if (params_local$surface_DIC_calculation == "revelle factor") {
    # calculate increase in atm pCO2 between eras
    co2_atm_tref <- co2_atm_tref %>%
      arrange(pCO2_tref) %>%
      mutate(d_pCO2_tref = pCO2_tref - lag(pCO2_tref),
             eras = paste(lag(era), era, sep = " --> ")) %>%
      drop_na() %>%
      select(eras, d_pCO2_tref)
    
    cant_surface <- full_join(predictors_surface, co2_atm_tref,
                              by = character())
    
    # calculate cant
    cant_surface <- cant_surface %>%
      mutate(cant = (1 / rev_fac) * (TCO2 / pCO2) * d_pCO2_tref)
  }
  
  # surface cant calculation with atmospheric equilibrium option
  if (params_local$surface_DIC_calculation == "atmospheric equilibrium") {
    predictors_surface <-
      full_join(predictors_surface,
                co2_atm_tref %>% select(pCO2_tref),
                by = character())
    
    # calculate DIC from TAlk climatology and pCO2 in reference years
    predictors_surface <- predictors_surface %>%
      mutate(
        DIC = carb(
          flag = 24,
          var1 = pCO2_tref,
          var2 = TAlk * 1e-6,
          S = sal,
          T = temp,
          P = depth / 10,
          Pt = phosphate * 1e-6,
          Sit = silicate * 1e-6,
          k1k2 = "l"
        )$DIC * 1e6
      )
    
    #
    p_map_climatology(df = predictors_surface,
                      var = "DIC")
    
    #
    p_section_climatology_regular(df = predictors_surface,
                                  var = "DIC",
                                  surface = "y")
    
    predictors_surface <- predictors_surface %>%
      group_by(lon,
               lat,
               depth,
               basin_AIP,
               basin,
               gamma,
               sal,
               temp,
               TCO2,
               TAlk,
               phosphate,
               silicate) %>%
      # hard coded for 3 eras, need to change later
      mutate(DIC_era1 = DIC[2] - DIC[1],
             DIC_era2 = DIC[3] - DIC[2]) %>%
      ungroup() %>%
      select(-pCO2_tref, -DIC) %>%
      unique()
    
    predictors_surface_era1 <- predictors_surface %>%
      select(-DIC_era2) %>%
      rename(cant = DIC_era1) %>%
      mutate(eras = paste(co2_atm_tref$era[1], co2_atm_tref$era[2], sep = " --> "))
    
    predictors_surface_era2 <- predictors_surface %>%
      select(-DIC_era1) %>%
      rename(cant = DIC_era2) %>%
      mutate(eras = paste(co2_atm_tref$era[2], co2_atm_tref$era[3], sep = " --> "))
    
    cant_surface <-
      full_join(predictors_surface_era1, predictors_surface_era2)
  }
  
  # surface cant calculation with atmospheric pCO2 increase
  if (params_local$surface_DIC_calculation == "atmospheric pCO2 increase") {
    
    # calculate increase in atm pCO2 between eras
    co2_atm_tref <- co2_atm_tref %>%
      arrange(pCO2_tref) %>%
      mutate(d_pCO2_tref = pCO2_tref - lag(pCO2_tref),
             eras = paste(lag(era), era, sep = " --> ")) %>%
      drop_na() %>%
      select(eras, d_pCO2_tref)
    
    cant_surface <- full_join(predictors_surface, co2_atm_tref,
                              by = character())
    
    cant_surface <- cant_surface %>% 
      mutate(pCO2_final = pCO2 + d_pCO2_tref)

    
    # calculate DIC from TAlk climatology and pCO2 in reference years
    cant_surface <- cant_surface %>% 
      mutate(
        DIC_final = carb(
          flag = 24,
          var1 = pCO2_final,
          var2 = TAlk * 1e-6,
          S = sal,
          T = temp,
          P = depth / 10,
          Pt = phosphate * 1e-6,
          Sit = silicate * 1e-6,
          k1k2 = "l"
        )$DIC * 1e6
      )
    
    #
    p_map_climatology(df = cant_surface,
                      var = "DIC_final")
    
    #
    p_section_climatology_regular(df = cant_surface,
                                  var = "DIC_final",
                                  surface = "y")
    
    cant_surface <- cant_surface %>% 
      mutate(cant = DIC_final - TCO2)
    
  }
  
  # calculate positive cant
  cant_surface <- cant_surface %>%
    mutate(cant_pos = if_else(cant < 0, 0, cant))
}

3.2.4 Control plots

if (params_local$depth_min != 0) {
  for (i_eras in unique(cant_surface$eras)) {
    print(
      p_map_climatology(df = cant_surface %>% filter(eras == i_eras),
                        var = "cant")  +
        labs(subtitle = paste("era:", i_eras))
    )
  }
}

Version Author Date
287123c Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
f71ae34 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
2679490 Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

Version Author Date
287123c Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
2679490 Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19
if (params_local$depth_min != 0) {
  for (i_eras in unique(cant_surface$eras)) {
    print(
      p_section_climatology_regular(
        df = cant_surface %>% filter(eras == i_eras),
        var = "cant",
        surface = "y"
      ) +
        labs(subtitle = paste("era:", i_eras))
    )
  }
}

Version Author Date
287123c Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
f71ae34 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
2679490 Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

Version Author Date
287123c Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
2679490 Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

3.3 Average model Cant

Mean and sd are calculated across 5 models for Cant in each grid cell (XYZ), basin and era combination. Calculations are performed for all cant values vs positive values only.

3.3.1 Deep water averaging

cant_average <- m_cant_model_average(cant)
cant_average <- m_cut_gamma(cant_average, "gamma")

# split data set for individual predictor contributions and total cant
cant_predictor_average <- cant_average %>% 
  select(-c("cant", "cant_pos", ends_with("_sd")))

cant_average <- cant_average %>% 
  select(lon, lat, depth, eras, basin, basin_AIP,
            cant, cant_pos, cant_sd, cant_pos_sd,
            gamma, gamma_sd, gamma_slab)
if (params_local$depth_min != 0) {
  for (i_eras in unique(cant_surface$eras)) {
    print(
      p_map_climatology(
        df = cant_average %>% filter(eras == i_eras),
        var = "cant_pos",
        subtitle_text = paste("era:", i_eras)
      )
    )
  }
}

Version Author Date
89c3e58 Donghe-Zhu 2021-03-03
c407a50 Donghe-Zhu 2021-03-03
c911669 Donghe-Zhu 2021-03-03
b71c719 Donghe-Zhu 2021-03-01
13666ca Donghe-Zhu 2021-03-01
c6e60fe Donghe-Zhu 2021-03-01
7a388f7 Donghe-Zhu 2021-03-01
799e913 Donghe-Zhu 2021-03-01
66ff99f Donghe-Zhu 2021-03-01
ac9bb7a Donghe-Zhu 2021-02-28
efdc047 Donghe-Zhu 2021-02-28
e9a7418 Donghe-Zhu 2021-02-28
e152917 Donghe-Zhu 2021-02-28
287123c Donghe-Zhu 2021-02-27
54d5b5b Donghe-Zhu 2021-02-27
330f064 Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
5937141 Donghe-Zhu 2021-02-27
4414bbf Donghe-Zhu 2021-02-27
a265efb Donghe-Zhu 2021-02-27
19edd1e Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
354c224 Donghe-Zhu 2021-02-24
1a0a88a Donghe-Zhu 2021-02-24
57f701e Donghe-Zhu 2021-02-24
06f3149 Donghe-Zhu 2021-02-16
401eab3 Donghe-Zhu 2021-02-15
e3bba84 Donghe-Zhu 2021-02-15
5dce4b1 Donghe-Zhu 2021-02-15
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
f71ae34 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
1fad5f1 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
e2ffc14 Donghe-Zhu 2021-02-05
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
a518739 Donghe-Zhu 2021-02-01
61666de Donghe-Zhu 2021-01-31
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
59e006e Donghe-Zhu 2021-01-31
a1c8f87 Donghe-Zhu 2021-01-31
ae5c18f Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
af8788e Donghe-Zhu 2021-01-29
21c91c9 Donghe-Zhu 2021-01-29
eded038 Donghe-Zhu 2021-01-29
541d4dd Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
12bc567 Donghe-Zhu 2021-01-27
ceed31b Donghe-Zhu 2021-01-27
342402d Donghe-Zhu 2021-01-27
5bad5c2 Donghe-Zhu 2021-01-27
61efb56 Donghe-Zhu 2021-01-25
48f638e Donghe-Zhu 2021-01-25
c1cec47 Donghe-Zhu 2021-01-25
05ffb0c Donghe-Zhu 2021-01-25
8b97165 Donghe-Zhu 2021-01-25
c569946 Donghe-Zhu 2021-01-24
a2f0d56 Donghe-Zhu 2021-01-23
28509fc Donghe-Zhu 2021-01-23
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
17dee1d jens-daniel-mueller 2021-01-13
7cdea0c jens-daniel-mueller 2021-01-06
fa85b93 jens-daniel-mueller 2021-01-06
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

Version Author Date
89c3e58 Donghe-Zhu 2021-03-03
c407a50 Donghe-Zhu 2021-03-03
c911669 Donghe-Zhu 2021-03-03
b71c719 Donghe-Zhu 2021-03-01
13666ca Donghe-Zhu 2021-03-01
c6e60fe Donghe-Zhu 2021-03-01
7a388f7 Donghe-Zhu 2021-03-01
799e913 Donghe-Zhu 2021-03-01
66ff99f Donghe-Zhu 2021-03-01
ac9bb7a Donghe-Zhu 2021-02-28
efdc047 Donghe-Zhu 2021-02-28
e9a7418 Donghe-Zhu 2021-02-28
e152917 Donghe-Zhu 2021-02-28
287123c Donghe-Zhu 2021-02-27
54d5b5b Donghe-Zhu 2021-02-27
330f064 Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
5937141 Donghe-Zhu 2021-02-27
4414bbf Donghe-Zhu 2021-02-27
a265efb Donghe-Zhu 2021-02-27
19edd1e Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
354c224 Donghe-Zhu 2021-02-24
1a0a88a Donghe-Zhu 2021-02-24
57f701e Donghe-Zhu 2021-02-24
06f3149 Donghe-Zhu 2021-02-16
401eab3 Donghe-Zhu 2021-02-15
e3bba84 Donghe-Zhu 2021-02-15
5dce4b1 Donghe-Zhu 2021-02-15
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
1fad5f1 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
e2ffc14 Donghe-Zhu 2021-02-05
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
a518739 Donghe-Zhu 2021-02-01
61666de Donghe-Zhu 2021-01-31
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
59e006e Donghe-Zhu 2021-01-31
a1c8f87 Donghe-Zhu 2021-01-31
ae5c18f Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
af8788e Donghe-Zhu 2021-01-29
21c91c9 Donghe-Zhu 2021-01-29
eded038 Donghe-Zhu 2021-01-29
541d4dd Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
12bc567 Donghe-Zhu 2021-01-27
ceed31b Donghe-Zhu 2021-01-27
342402d Donghe-Zhu 2021-01-27
5bad5c2 Donghe-Zhu 2021-01-27
61efb56 Donghe-Zhu 2021-01-25
48f638e Donghe-Zhu 2021-01-25
c1cec47 Donghe-Zhu 2021-01-25
05ffb0c Donghe-Zhu 2021-01-25
8b97165 Donghe-Zhu 2021-01-25
c569946 Donghe-Zhu 2021-01-24
a2f0d56 Donghe-Zhu 2021-01-23
28509fc Donghe-Zhu 2021-01-23
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
17dee1d jens-daniel-mueller 2021-01-13
7cdea0c jens-daniel-mueller 2021-01-06
fa85b93 jens-daniel-mueller 2021-01-06
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19
if (params_local$depth_min != 0) {
  for (i_eras in unique(cant_surface$eras)) {
    print(
      p_section_climatology_regular(
        df = cant_average %>% filter(eras == i_eras),
        var = "cant_pos",
        subtitle_text = paste("era:", i_eras)
      )
    )
  }
}

Version Author Date
89c3e58 Donghe-Zhu 2021-03-03
c407a50 Donghe-Zhu 2021-03-03
c911669 Donghe-Zhu 2021-03-03
b71c719 Donghe-Zhu 2021-03-01
13666ca Donghe-Zhu 2021-03-01
c6e60fe Donghe-Zhu 2021-03-01
7a388f7 Donghe-Zhu 2021-03-01
799e913 Donghe-Zhu 2021-03-01
66ff99f Donghe-Zhu 2021-03-01
ac9bb7a Donghe-Zhu 2021-02-28
efdc047 Donghe-Zhu 2021-02-28
e9a7418 Donghe-Zhu 2021-02-28
e152917 Donghe-Zhu 2021-02-28
287123c Donghe-Zhu 2021-02-27
54d5b5b Donghe-Zhu 2021-02-27
330f064 Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
5937141 Donghe-Zhu 2021-02-27
4414bbf Donghe-Zhu 2021-02-27
a265efb Donghe-Zhu 2021-02-27
19edd1e Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
354c224 Donghe-Zhu 2021-02-24
1a0a88a Donghe-Zhu 2021-02-24
57f701e Donghe-Zhu 2021-02-24
06f3149 Donghe-Zhu 2021-02-16
401eab3 Donghe-Zhu 2021-02-15
e3bba84 Donghe-Zhu 2021-02-15
5dce4b1 Donghe-Zhu 2021-02-15
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
f71ae34 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
1fad5f1 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
e2ffc14 Donghe-Zhu 2021-02-05
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
a518739 Donghe-Zhu 2021-02-01
61666de Donghe-Zhu 2021-01-31
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
59e006e Donghe-Zhu 2021-01-31
a1c8f87 Donghe-Zhu 2021-01-31
ae5c18f Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
af8788e Donghe-Zhu 2021-01-29
21c91c9 Donghe-Zhu 2021-01-29
eded038 Donghe-Zhu 2021-01-29
541d4dd Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
12bc567 Donghe-Zhu 2021-01-27
ceed31b Donghe-Zhu 2021-01-27
342402d Donghe-Zhu 2021-01-27
5bad5c2 Donghe-Zhu 2021-01-27
61efb56 Donghe-Zhu 2021-01-25
48f638e Donghe-Zhu 2021-01-25
c1cec47 Donghe-Zhu 2021-01-25
05ffb0c Donghe-Zhu 2021-01-25
8b97165 Donghe-Zhu 2021-01-25
c569946 Donghe-Zhu 2021-01-24
a2f0d56 Donghe-Zhu 2021-01-23
28509fc Donghe-Zhu 2021-01-23
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
17dee1d jens-daniel-mueller 2021-01-13
fa85b93 jens-daniel-mueller 2021-01-06
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

Version Author Date
89c3e58 Donghe-Zhu 2021-03-03
c407a50 Donghe-Zhu 2021-03-03
c911669 Donghe-Zhu 2021-03-03
b71c719 Donghe-Zhu 2021-03-01
13666ca Donghe-Zhu 2021-03-01
c6e60fe Donghe-Zhu 2021-03-01
7a388f7 Donghe-Zhu 2021-03-01
799e913 Donghe-Zhu 2021-03-01
66ff99f Donghe-Zhu 2021-03-01
ac9bb7a Donghe-Zhu 2021-02-28
efdc047 Donghe-Zhu 2021-02-28
e9a7418 Donghe-Zhu 2021-02-28
e152917 Donghe-Zhu 2021-02-28
287123c Donghe-Zhu 2021-02-27
54d5b5b Donghe-Zhu 2021-02-27
330f064 Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
5937141 Donghe-Zhu 2021-02-27
4414bbf Donghe-Zhu 2021-02-27
a265efb Donghe-Zhu 2021-02-27
19edd1e Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
354c224 Donghe-Zhu 2021-02-24
1a0a88a Donghe-Zhu 2021-02-24
57f701e Donghe-Zhu 2021-02-24
06f3149 Donghe-Zhu 2021-02-16
e3bba84 Donghe-Zhu 2021-02-15
5dce4b1 Donghe-Zhu 2021-02-15
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
1fad5f1 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
e2ffc14 Donghe-Zhu 2021-02-05
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
a518739 Donghe-Zhu 2021-02-01
61666de Donghe-Zhu 2021-01-31
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
59e006e Donghe-Zhu 2021-01-31
a1c8f87 Donghe-Zhu 2021-01-31
ae5c18f Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
af8788e Donghe-Zhu 2021-01-29
21c91c9 Donghe-Zhu 2021-01-29
eded038 Donghe-Zhu 2021-01-29
541d4dd Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
12bc567 Donghe-Zhu 2021-01-27
ceed31b Donghe-Zhu 2021-01-27
342402d Donghe-Zhu 2021-01-27
5bad5c2 Donghe-Zhu 2021-01-27
61efb56 Donghe-Zhu 2021-01-25
48f638e Donghe-Zhu 2021-01-25
c1cec47 Donghe-Zhu 2021-01-25
05ffb0c Donghe-Zhu 2021-01-25
8b97165 Donghe-Zhu 2021-01-25
c569946 Donghe-Zhu 2021-01-24
a2f0d56 Donghe-Zhu 2021-01-23
28509fc Donghe-Zhu 2021-01-23
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
17dee1d jens-daniel-mueller 2021-01-13
7cdea0c jens-daniel-mueller 2021-01-06
fa85b93 jens-daniel-mueller 2021-01-06
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

3.3.2 Surface water averaging

The averaging function is also applied to the surface data, although only one value per grid cell was mapped, to ensure consistency with the deep water values.

if (params_local$depth_min != 0) {
  cant_surface_average <- m_cant_model_average(cant_surface)
  cant_surface_average <- m_cut_gamma(cant_surface_average, "gamma")
  rm(cant_surface)
}

3.3.3 Join surface and deep water

if (params_local$depth_min != 0) {
  cant_average <- full_join(cant_average, cant_surface_average)
  rm(cant_surface_average)
}

3.4 Zonal mean sections

For each basin and era combination, the zonal mean cant is calculated, again for all vs positive only values. Likewise, sd is calculated for the averaging of the mean basin fields.

cant_average_zonal <- m_cant_zonal_mean(cant_average)
cant_average_zonal <- m_cut_gamma(cant_average_zonal, "gamma_mean")
cant_average_zonal %>% 
  filter(basin_AIP == "Atlantic",
         eras == "1982-1999 --> 2000-2012") %>% 
  ggplot(aes(lat, depth, z = cant_pos_mean)) +
  geom_contour_fill() +
  scale_y_reverse() +
  scale_fill_viridis_c()

3.5 Mean cant sections by coefficient

For each basin and era combination, the zonal mean is calculated for the term of each predictor.

cant_predictor_average_zonal <-
  m_cant_predictor_zonal_mean(cant_predictor_average)

cant_predictor_average_zonal <-
  m_cut_gamma(cant_predictor_average_zonal, "gamma")

3.6 Inventory calculation

To calculate Cant column inventories, we:

  1. Convert Cant concentrations to volumetric units
  2. Multiply layer thickness with volumetric Cant concentration to get a layer inventory
  3. For each horizontal grid cell and era, sum cant layer inventories for different inventory depths (100, 500, 1000, 3000, 10^{4} m)

Step 2 is performed separately for all Cant and positive Cant values only.

cant_inv <- m_cant_inv(cant_average)

p_map_cant_inv(df = cant_inv,
               var = "cant_pos_inv",
               subtitle_text = "for predefined integration depths") +
  facet_grid(inv_depth ~ eras)

Version Author Date
89c3e58 Donghe-Zhu 2021-03-03
c407a50 Donghe-Zhu 2021-03-03
c911669 Donghe-Zhu 2021-03-03
b71c719 Donghe-Zhu 2021-03-01
13666ca Donghe-Zhu 2021-03-01
c6e60fe Donghe-Zhu 2021-03-01
7a388f7 Donghe-Zhu 2021-03-01
799e913 Donghe-Zhu 2021-03-01
66ff99f Donghe-Zhu 2021-03-01
ac9bb7a Donghe-Zhu 2021-02-28
efdc047 Donghe-Zhu 2021-02-28
e9a7418 Donghe-Zhu 2021-02-28
e152917 Donghe-Zhu 2021-02-28
287123c Donghe-Zhu 2021-02-27
54d5b5b Donghe-Zhu 2021-02-27
330f064 Donghe-Zhu 2021-02-27
adbc9bc Donghe-Zhu 2021-02-27
5937141 Donghe-Zhu 2021-02-27
4414bbf Donghe-Zhu 2021-02-27
a265efb Donghe-Zhu 2021-02-27
19edd1e Donghe-Zhu 2021-02-27
f20483f Donghe-Zhu 2021-02-26
6a2c7b3 Donghe-Zhu 2021-02-25
354c224 Donghe-Zhu 2021-02-24
1a0a88a Donghe-Zhu 2021-02-24
57f701e Donghe-Zhu 2021-02-24
06f3149 Donghe-Zhu 2021-02-16
401eab3 Donghe-Zhu 2021-02-15
e3bba84 Donghe-Zhu 2021-02-15
5dce4b1 Donghe-Zhu 2021-02-15
4469a0c Donghe-Zhu 2021-02-13
5ae6a69 Donghe-Zhu 2021-02-10
05385dc Donghe-Zhu 2021-02-10
f791ae4 Donghe-Zhu 2021-02-09
f71ae34 Donghe-Zhu 2021-02-09
c011832 Donghe-Zhu 2021-02-09
a145fa7 Donghe-Zhu 2021-02-09
c344e42 Donghe-Zhu 2021-02-08
2f095d7 Donghe-Zhu 2021-02-07
2305044 Donghe-Zhu 2021-02-07
1fad5f1 Donghe-Zhu 2021-02-07
ca03c39 Donghe-Zhu 2021-02-07
e2ffc14 Donghe-Zhu 2021-02-05
cd7c52c Donghe-Zhu 2021-02-04
bcf84f4 Donghe-Zhu 2021-02-02
a518739 Donghe-Zhu 2021-02-01
61666de Donghe-Zhu 2021-01-31
865b582 Donghe-Zhu 2021-01-31
3e68089 Donghe-Zhu 2021-01-31
ecf335c Donghe-Zhu 2021-01-31
a618965 Donghe-Zhu 2021-01-31
59e006e Donghe-Zhu 2021-01-31
a1c8f87 Donghe-Zhu 2021-01-31
ae5c18f Donghe-Zhu 2021-01-31
b50fe52 Donghe-Zhu 2021-01-31
ac99ae5 jens-daniel-mueller 2021-01-29
b5bdcaf Donghe-Zhu 2021-01-29
442010d Donghe-Zhu 2021-01-29
372adf5 Donghe-Zhu 2021-01-29
af8788e Donghe-Zhu 2021-01-29
21c91c9 Donghe-Zhu 2021-01-29
eded038 Donghe-Zhu 2021-01-29
541d4dd Donghe-Zhu 2021-01-29
6a75576 Donghe-Zhu 2021-01-28
16fba40 Donghe-Zhu 2021-01-28
12bc567 Donghe-Zhu 2021-01-27
ceed31b Donghe-Zhu 2021-01-27
342402d Donghe-Zhu 2021-01-27
5bad5c2 Donghe-Zhu 2021-01-27
61efb56 Donghe-Zhu 2021-01-25
48f638e Donghe-Zhu 2021-01-25
c1cec47 Donghe-Zhu 2021-01-25
05ffb0c Donghe-Zhu 2021-01-25
8b97165 Donghe-Zhu 2021-01-25
c569946 Donghe-Zhu 2021-01-24
a2f0d56 Donghe-Zhu 2021-01-23
28509fc Donghe-Zhu 2021-01-23
4c28e4a Donghe-Zhu 2021-01-22
24cc264 jens-daniel-mueller 2021-01-22
88eb28f Donghe-Zhu 2021-01-21
2679490 Donghe-Zhu 2021-01-21
7891955 Donghe-Zhu 2021-01-21
d4cf1cb Donghe-Zhu 2021-01-21
1f3e5b6 jens-daniel-mueller 2021-01-20
0e7bdf1 jens-daniel-mueller 2021-01-15
4571843 jens-daniel-mueller 2021-01-14
b3564aa jens-daniel-mueller 2021-01-14
8d032c3 jens-daniel-mueller 2021-01-14
17dee1d jens-daniel-mueller 2021-01-13
7cdea0c jens-daniel-mueller 2021-01-06
fa85b93 jens-daniel-mueller 2021-01-06
e5cb81a Donghe-Zhu 2021-01-05
a499f10 Donghe-Zhu 2021-01-05
fb8a752 Donghe-Zhu 2020-12-23
8fae0b2 Donghe-Zhu 2020-12-21
c8b76b3 jens-daniel-mueller 2020-12-19

4 Write csv

cant_average %>%
  write_csv(paste(path_version_data,
                  "cant_3d.csv", sep = ""))

cant_predictor_average %>%
  write_csv(paste(path_version_data,
                  "cant_predictor_3d.csv", sep = ""))

cant_average_zonal %>%
  write_csv(paste(path_version_data,
                  "cant_zonal.csv", sep = ""))

cant_predictor_average_zonal %>%
  write_csv(paste(path_version_data,
                  "cant_predictor_zonal.csv", sep = ""))

cant_inv %>%
  write_csv(paste(path_version_data,
                  "cant_inv.csv", sep = ""))

sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: openSUSE Leap 15.2

Matrix products: default
BLAS:   /usr/local/R-4.0.3/lib64/R/lib/libRblas.so
LAPACK: /usr/local/R-4.0.3/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
 [1] seacarb_3.2.15  oce_1.2-0       gsw_1.0-5       testthat_3.0.1 
 [5] metR_0.9.0      scico_1.2.0     patchwork_1.1.1 collapse_1.5.0 
 [9] forcats_0.5.0   stringr_1.4.0   dplyr_1.0.2     purrr_0.3.4    
[13] readr_1.4.0     tidyr_1.1.2     tibble_3.0.4    ggplot2_3.3.3  
[17] tidyverse_1.3.0 workflowr_1.6.2

loaded via a namespace (and not attached):
 [1] httr_1.4.2               jsonlite_1.7.2           viridisLite_0.3.0       
 [4] here_1.0.1               modelr_0.1.8             assertthat_0.2.1        
 [7] blob_1.2.1               cellranger_1.1.0         yaml_2.2.1              
[10] pillar_1.4.7             backports_1.1.10         lattice_0.20-41         
[13] glue_1.4.2               RcppEigen_0.3.3.9.1      digest_0.6.27           
[16] promises_1.1.1           checkmate_2.0.0          rvest_0.3.6             
[19] colorspace_2.0-0         htmltools_0.5.0          httpuv_1.5.4            
[22] Matrix_1.2-18            pkgconfig_2.0.3          broom_0.7.5             
[25] haven_2.3.1              scales_1.1.1             whisker_0.4             
[28] later_1.1.0.1            git2r_0.27.1             farver_2.0.3            
[31] generics_0.1.0           ellipsis_0.3.1           withr_2.3.0             
[34] cli_2.2.0                magrittr_2.0.1           crayon_1.3.4            
[37] readxl_1.3.1             evaluate_0.14            fs_1.5.0                
[40] fansi_0.4.1              xml2_1.3.2               RcppArmadillo_0.10.1.2.2
[43] tools_4.0.3              data.table_1.13.6        hms_0.5.3               
[46] lifecycle_0.2.0          munsell_0.5.0            reprex_0.3.0            
[49] isoband_0.2.3            compiler_4.0.3           rlang_0.4.10            
[52] grid_4.0.3               rstudioapi_0.13          labeling_0.4.2          
[55] rmarkdown_2.5            gtable_0.3.0             DBI_1.1.0               
[58] R6_2.5.0                 lubridate_1.7.9          knitr_1.30              
[61] rprojroot_2.0.2          stringi_1.5.3            parallel_4.0.3          
[64] Rcpp_1.0.5               vctrs_0.3.6              dbplyr_1.4.4            
[67] tidyselect_1.1.0         xfun_0.20