Geological archives such as ice cores, marine sediments and speleothems record proxy variables (\(\delta^{18}\)O, \(\delta\)D, dust, CO\(_2\), etc.) from which we infer past climate.

Statistical tools are essential for

This notebook accompanies the short lecture (2 May 2025, ISI Kolkata) requested in the letter from Prof. Amlan Banerjee, Geological Studies Unit.

After completing the code below you should be able to
required <- c("tidyverse", "lubridate", "tsibble",
              "astsa", "changepoint", "bcpa",
              "spectral", "patchwork", "raster",
              "sf", "janitor")
installed <- rownames(installed.packages())
to_install <- setdiff(required, installed)
if(length(to_install)) install.packages(to_install)
lapply(required, library, character.only = TRUE)
## [[1]]
##  [1] "lubridate" "forcats"   "stringr"   "dplyr"     "purrr"     "readr"    
##  [7] "tidyr"     "tibble"    "ggplot2"   "tidyverse" "stats"     "graphics" 
## [13] "grDevices" "utils"     "datasets"  "methods"   "base"     
## 
## [[2]]
##  [1] "lubridate" "forcats"   "stringr"   "dplyr"     "purrr"     "readr"    
##  [7] "tidyr"     "tibble"    "ggplot2"   "tidyverse" "stats"     "graphics" 
## [13] "grDevices" "utils"     "datasets"  "methods"   "base"     
## 
## [[3]]
##  [1] "tsibble"   "lubridate" "forcats"   "stringr"   "dplyr"     "purrr"    
##  [7] "readr"     "tidyr"     "tibble"    "ggplot2"   "tidyverse" "stats"    
## [13] "graphics"  "grDevices" "utils"     "datasets"  "methods"   "base"     
## 
## [[4]]
##  [1] "astsa"     "tsibble"   "lubridate" "forcats"   "stringr"   "dplyr"    
##  [7] "purrr"     "readr"     "tidyr"     "tibble"    "ggplot2"   "tidyverse"
## [13] "stats"     "graphics"  "grDevices" "utils"     "datasets"  "methods"  
## [19] "base"     
## 
## [[5]]
##  [1] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
##  [6] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [11] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [16] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [21] "base"       
## 
## [[6]]
##  [1] "bcpa"        "plyr"        "changepoint" "zoo"         "astsa"      
##  [6] "tsibble"     "lubridate"   "forcats"     "stringr"     "dplyr"      
## [11] "purrr"       "readr"       "tidyr"       "tibble"      "ggplot2"    
## [16] "tidyverse"   "stats"       "graphics"    "grDevices"   "utils"      
## [21] "datasets"    "methods"     "base"       
## 
## [[7]]
##  [1] "spectral"    "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage"
##  [6] "plotrix"     "bcpa"        "plyr"        "changepoint" "zoo"        
## [11] "astsa"       "tsibble"     "lubridate"   "forcats"     "stringr"    
## [16] "dplyr"       "purrr"       "readr"       "tidyr"       "tibble"     
## [21] "ggplot2"     "tidyverse"   "stats"       "graphics"    "grDevices"  
## [26] "utils"       "datasets"    "methods"     "base"       
## 
## [[8]]
##  [1] "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl" "lattice"    
##  [6] "rasterImage" "plotrix"     "bcpa"        "plyr"        "changepoint"
## [11] "zoo"         "astsa"       "tsibble"     "lubridate"   "forcats"    
## [16] "stringr"     "dplyr"       "purrr"       "readr"       "tidyr"      
## [21] "tibble"      "ggplot2"     "tidyverse"   "stats"       "graphics"   
## [26] "grDevices"   "utils"       "datasets"    "methods"     "base"       
## 
## [[9]]
##  [1] "raster"      "sp"          "patchwork"   "spectral"    "pbapply"    
##  [6] "RhpcBLASctl" "lattice"     "rasterImage" "plotrix"     "bcpa"       
## [11] "plyr"        "changepoint" "zoo"         "astsa"       "tsibble"    
## [16] "lubridate"   "forcats"     "stringr"     "dplyr"       "purrr"      
## [21] "readr"       "tidyr"       "tibble"      "ggplot2"     "tidyverse"  
## [26] "stats"       "graphics"    "grDevices"   "utils"       "datasets"   
## [31] "methods"     "base"       
## 
## [[10]]
##  [1] "sf"          "raster"      "sp"          "patchwork"   "spectral"   
##  [6] "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage" "plotrix"    
## [11] "bcpa"        "plyr"        "changepoint" "zoo"         "astsa"      
## [16] "tsibble"     "lubridate"   "forcats"     "stringr"     "dplyr"      
## [21] "purrr"       "readr"       "tidyr"       "tibble"      "ggplot2"    
## [26] "tidyverse"   "stats"       "graphics"    "grDevices"   "utils"      
## [31] "datasets"    "methods"     "base"       
## 
## [[11]]
##  [1] "janitor"     "sf"          "raster"      "sp"          "patchwork"  
##  [6] "spectral"    "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage"
## [11] "plotrix"     "bcpa"        "plyr"        "changepoint" "zoo"        
## [16] "astsa"       "tsibble"     "lubridate"   "forcats"     "stringr"    
## [21] "dplyr"       "purrr"       "readr"       "tidyr"       "tibble"     
## [26] "ggplot2"     "tidyverse"   "stats"       "graphics"    "grDevices"  
## [31] "utils"       "datasets"    "methods"     "base"
pkgs <- c("tidyverse",  "lubridate", "tsibble",
          "sedproxy",   # GISP2 Greenland ice-core δ18O annual
          "isogeochem", # LR04 benthic δ18O stack
          "changepoint","bcpa",       # change-point tools
          "astsa",      # spectral analysis
          "patchwork",  # figure layout
          "fable", "fabletools", "feasts", # time-series models
          "rsample", "yardstick")    # cross-validation & metrics
to_get <- setdiff(pkgs, rownames(installed.packages()))
if(length(to_get)) install.packages(to_get)
lapply(pkgs, library, character.only = TRUE)
## [[1]]
##  [1] "janitor"     "sf"          "raster"      "sp"          "patchwork"  
##  [6] "spectral"    "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage"
## [11] "plotrix"     "bcpa"        "plyr"        "changepoint" "zoo"        
## [16] "astsa"       "tsibble"     "lubridate"   "forcats"     "stringr"    
## [21] "dplyr"       "purrr"       "readr"       "tidyr"       "tibble"     
## [26] "ggplot2"     "tidyverse"   "stats"       "graphics"    "grDevices"  
## [31] "utils"       "datasets"    "methods"     "base"       
## 
## [[2]]
##  [1] "janitor"     "sf"          "raster"      "sp"          "patchwork"  
##  [6] "spectral"    "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage"
## [11] "plotrix"     "bcpa"        "plyr"        "changepoint" "zoo"        
## [16] "astsa"       "tsibble"     "lubridate"   "forcats"     "stringr"    
## [21] "dplyr"       "purrr"       "readr"       "tidyr"       "tibble"     
## [26] "ggplot2"     "tidyverse"   "stats"       "graphics"    "grDevices"  
## [31] "utils"       "datasets"    "methods"     "base"       
## 
## [[3]]
##  [1] "janitor"     "sf"          "raster"      "sp"          "patchwork"  
##  [6] "spectral"    "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage"
## [11] "plotrix"     "bcpa"        "plyr"        "changepoint" "zoo"        
## [16] "astsa"       "tsibble"     "lubridate"   "forcats"     "stringr"    
## [21] "dplyr"       "purrr"       "readr"       "tidyr"       "tibble"     
## [26] "ggplot2"     "tidyverse"   "stats"       "graphics"    "grDevices"  
## [31] "utils"       "datasets"    "methods"     "base"       
## 
## [[4]]
##  [1] "sedproxy"    "janitor"     "sf"          "raster"      "sp"         
##  [6] "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl" "lattice"    
## [11] "rasterImage" "plotrix"     "bcpa"        "plyr"        "changepoint"
## [16] "zoo"         "astsa"       "tsibble"     "lubridate"   "forcats"    
## [21] "stringr"     "dplyr"       "purrr"       "readr"       "tidyr"      
## [26] "tibble"      "ggplot2"     "tidyverse"   "stats"       "graphics"   
## [31] "grDevices"   "utils"       "datasets"    "methods"     "base"       
## 
## [[5]]
##  [1] "isogeochem"  "sedproxy"    "janitor"     "sf"          "raster"     
##  [6] "sp"          "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl"
## [11] "lattice"     "rasterImage" "plotrix"     "bcpa"        "plyr"       
## [16] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
## [21] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [26] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [31] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [36] "base"       
## 
## [[6]]
##  [1] "isogeochem"  "sedproxy"    "janitor"     "sf"          "raster"     
##  [6] "sp"          "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl"
## [11] "lattice"     "rasterImage" "plotrix"     "bcpa"        "plyr"       
## [16] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
## [21] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [26] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [31] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [36] "base"       
## 
## [[7]]
##  [1] "isogeochem"  "sedproxy"    "janitor"     "sf"          "raster"     
##  [6] "sp"          "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl"
## [11] "lattice"     "rasterImage" "plotrix"     "bcpa"        "plyr"       
## [16] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
## [21] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [26] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [31] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [36] "base"       
## 
## [[8]]
##  [1] "isogeochem"  "sedproxy"    "janitor"     "sf"          "raster"     
##  [6] "sp"          "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl"
## [11] "lattice"     "rasterImage" "plotrix"     "bcpa"        "plyr"       
## [16] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
## [21] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [26] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [31] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [36] "base"       
## 
## [[9]]
##  [1] "isogeochem"  "sedproxy"    "janitor"     "sf"          "raster"     
##  [6] "sp"          "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl"
## [11] "lattice"     "rasterImage" "plotrix"     "bcpa"        "plyr"       
## [16] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
## [21] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [26] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [31] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [36] "base"       
## 
## [[10]]
##  [1] "fable"       "fabletools"  "isogeochem"  "sedproxy"    "janitor"    
##  [6] "sf"          "raster"      "sp"          "patchwork"   "spectral"   
## [11] "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage" "plotrix"    
## [16] "bcpa"        "plyr"        "changepoint" "zoo"         "astsa"      
## [21] "tsibble"     "lubridate"   "forcats"     "stringr"     "dplyr"      
## [26] "purrr"       "readr"       "tidyr"       "tibble"      "ggplot2"    
## [31] "tidyverse"   "stats"       "graphics"    "grDevices"   "utils"      
## [36] "datasets"    "methods"     "base"       
## 
## [[11]]
##  [1] "fable"       "fabletools"  "isogeochem"  "sedproxy"    "janitor"    
##  [6] "sf"          "raster"      "sp"          "patchwork"   "spectral"   
## [11] "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage" "plotrix"    
## [16] "bcpa"        "plyr"        "changepoint" "zoo"         "astsa"      
## [21] "tsibble"     "lubridate"   "forcats"     "stringr"     "dplyr"      
## [26] "purrr"       "readr"       "tidyr"       "tibble"      "ggplot2"    
## [31] "tidyverse"   "stats"       "graphics"    "grDevices"   "utils"      
## [36] "datasets"    "methods"     "base"       
## 
## [[12]]
##  [1] "feasts"      "fable"       "fabletools"  "isogeochem"  "sedproxy"   
##  [6] "janitor"     "sf"          "raster"      "sp"          "patchwork"  
## [11] "spectral"    "pbapply"     "RhpcBLASctl" "lattice"     "rasterImage"
## [16] "plotrix"     "bcpa"        "plyr"        "changepoint" "zoo"        
## [21] "astsa"       "tsibble"     "lubridate"   "forcats"     "stringr"    
## [26] "dplyr"       "purrr"       "readr"       "tidyr"       "tibble"     
## [31] "ggplot2"     "tidyverse"   "stats"       "graphics"    "grDevices"  
## [36] "utils"       "datasets"    "methods"     "base"       
## 
## [[13]]
##  [1] "rsample"     "feasts"      "fable"       "fabletools"  "isogeochem" 
##  [6] "sedproxy"    "janitor"     "sf"          "raster"      "sp"         
## [11] "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl" "lattice"    
## [16] "rasterImage" "plotrix"     "bcpa"        "plyr"        "changepoint"
## [21] "zoo"         "astsa"       "tsibble"     "lubridate"   "forcats"    
## [26] "stringr"     "dplyr"       "purrr"       "readr"       "tidyr"      
## [31] "tibble"      "ggplot2"     "tidyverse"   "stats"       "graphics"   
## [36] "grDevices"   "utils"       "datasets"    "methods"     "base"       
## 
## [[14]]
##  [1] "yardstick"   "rsample"     "feasts"      "fable"       "fabletools" 
##  [6] "isogeochem"  "sedproxy"    "janitor"     "sf"          "raster"     
## [11] "sp"          "patchwork"   "spectral"    "pbapply"     "RhpcBLASctl"
## [16] "lattice"     "rasterImage" "plotrix"     "bcpa"        "plyr"       
## [21] "changepoint" "zoo"         "astsa"       "tsibble"     "lubridate"  
## [26] "forcats"     "stringr"     "dplyr"       "purrr"       "readr"      
## [31] "tidyr"       "tibble"      "ggplot2"     "tidyverse"   "stats"      
## [36] "graphics"    "grDevices"   "utils"       "datasets"    "methods"    
## [41] "base"

https://www.ncei.noaa.gov/pub/data/paleo/icecore/greenland/

https://www.ncei.noaa.gov/pub/data/paleo/icecore/greenland/summit/gisp2/gisp2-info.txt

https://www.ncei.noaa.gov/pub/data/paleo/icecore/greenland/summit/greenland-summit-firn-air.txt