Last updated: 2022-05-12

Checks: 7 0

Knit directory: bgc_argo_r_argodata/

This reproducible R Markdown analysis was created with workflowr (version 1.7.0). 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(20211008) 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 944e0a2. 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/
    Ignored:    output/

Unstaged changes:
    Modified:   code/Workflowr_project_managment.R

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/extreme_temp.Rmd) and HTML (docs/extreme_temp.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 944e0a2 jens-daniel-mueller 2022-05-12 revised color scale for argo location map
Rmd 1bdcd6e jens-daniel-mueller 2022-05-12 revised color scale for argo location map
html 4173c20 jens-daniel-mueller 2022-05-12 Build site.
Rmd 78acca9 jens-daniel-mueller 2022-05-12 run with DIC clim scaled to 2016
html dfe89d7 jens-daniel-mueller 2022-05-12 Build site.
html 710edd4 jens-daniel-mueller 2022-05-11 Build site.
Rmd 2f20a76 jens-daniel-mueller 2022-05-11 rebuild all after subsetting AB profiles and code cleaning
html b917bd0 jens-daniel-mueller 2022-05-11 Build site.
Rmd 86144c6 jens-daniel-mueller 2022-05-11 rerun with flag A and B subset
html ca30beb pasqualina-vonlanthendinenna 2022-05-05 Build site.
Rmd bb146f4 pasqualina-vonlanthendinenna 2022-05-05 updated map colors and plotting
html 4cf88e4 pasqualina-vonlanthendinenna 2022-05-05 Build site.
Rmd 3bde57b pasqualina-vonlanthendinenna 2022-05-05 added argo profile locations
html 2751f13 pasqualina-vonlanthendinenna 2022-05-05 Build site.
Rmd 8e115be pasqualina-vonlanthendinenna 2022-05-05 added argo profile locations
html f46b9da pasqualina-vonlanthendinenna 2022-05-05 Build site.
Rmd ebcc576 pasqualina-vonlanthendinenna 2022-05-05 added argo profile locations
html 6572988 pasqualina-vonlanthendinenna 2022-05-04 Build site.
Rmd 8d56775 pasqualina-vonlanthendinenna 2022-05-04 updated plot labels
html 708f923 pasqualina-vonlanthendinenna 2022-05-04 Build site.
Rmd d569024 pasqualina-vonlanthendinenna 2022-05-04 added number of profiles to plot
html 6a6e874 pasqualina-vonlanthendinenna 2022-04-29 Build site.
html 2d44f8a pasqualina-vonlanthendinenna 2022-04-29 Build site.
Rmd 8b582f0 pasqualina-vonlanthendinenna 2022-04-29 added broullon climatology page, argo locations
html e61c08e pasqualina-vonlanthendinenna 2022-04-27 Build site.
Rmd 9664e0e pasqualina-vonlanthendinenna 2022-04-27 added temp data page, changed double extremes
html 10036ed pasqualina-vonlanthendinenna 2022-04-26 Build site.
html c03dd24 pasqualina-vonlanthendinenna 2022-04-20 Build site.
html f5f6b3f pasqualina-vonlanthendinenna 2022-04-14 Build site.
Rmd c2fa269 pasqualina-vonlanthendinenna 2022-04-14 added full temperature climatology
html 8805f99 pasqualina-vonlanthendinenna 2022-04-11 Build site.
Rmd d21c526 pasqualina-vonlanthendinenna 2022-04-11 cleaned up code
Rmd f3ca885 pasqualina-vonlanthendinenna 2022-04-07 added OceanSODA-Argo SST comparison
html c541171 pasqualina-vonlanthendinenna 2022-04-07 Build site.
Rmd 9437f81 pasqualina-vonlanthendinenna 2022-04-07 cleaned loading data page
html 9875dd0 pasqualina-vonlanthendinenna 2022-04-05 Build site.
Rmd 72a65a7 pasqualina-vonlanthendinenna 2022-04-05 added new biomes to extreme pH
html 48573c4 pasqualina-vonlanthendinenna 2022-03-31 Build site.
Rmd 11915d8 pasqualina-vonlanthendinenna 2022-03-31 loaded in Mayot biomes and Roemmich temp climatology
html eb8e3be pasqualina-vonlanthendinenna 2022-03-31 Build site.
Rmd c4d4031 pasqualina-vonlanthendinenna 2022-03-31 extended OceanSODA to 1995 for extreme detection
html a2271df pasqualina-vonlanthendinenna 2022-03-30 Build site.
Rmd 25d5eed pasqualina-vonlanthendinenna 2022-03-30 updated figure aspects
html dfd75e9 pasqualina-vonlanthendinenna 2022-03-29 Build site.
Rmd b9a42f9 pasqualina-vonlanthendinenna 2022-03-29 added january plots and changed pH anomaly detection to mean
html 65e609a pasqualina-vonlanthendinenna 2022-03-28 Build site.
Rmd a22e2f4 pasqualina-vonlanthendinenna 2022-03-28 re-build extreme temp page
html cbb2360 jens-daniel-mueller 2022-03-28 Build site.
Rmd c07ce42 jens-daniel-mueller 2022-03-28 rerun with mean instead of lm anomaly detection
html fa1b6de jens-daniel-mueller 2022-03-28 Build site.
Rmd c53aa88 jens-daniel-mueller 2022-03-28 rerun with lm instead of mean anomaly detection
html 749e005 jens-daniel-mueller 2022-03-28 Build site.
Rmd 9ed3727 jens-daniel-mueller 2022-03-28 cleaned code
html 8173cdb jens-daniel-mueller 2022-03-28 Build site.
Rmd d7e3599 jens-daniel-mueller 2022-03-28 reviewed depth binning for profile averaging
html f27d454 pasqualina-vonlanthendinenna 2022-03-25 Build site.
Rmd b9c4426 pasqualina-vonlanthendinenna 2022-03-25 read in temp climatology in loading data
html 7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25 Build site.
Rmd becbfe0 pasqualina-vonlanthendinenna 2022-03-25 corrected anomaly profile calculation
html 27a52f8 pasqualina-vonlanthendinenna 2022-03-25 Build site.
Rmd a6aad60 pasqualina-vonlanthendinenna 2022-03-25 added january anomaly profiles for each year
html 6dd0945 pasqualina-vonlanthendinenna 2022-03-25 Build site.
html d9caaae pasqualina-vonlanthendinenna 2022-03-22 Build site.
Rmd 9daebcf pasqualina-vonlanthendinenna 2022-03-22 removed climatology from temperature profiles (anomaly profiles section)
html 5e36bb4 pasqualina-vonlanthendinenna 2022-03-18 Build site.
Rmd 44a9ba6 pasqualina-vonlanthendinenna 2022-03-18 removed eval false from anomaly maps
html 650ef68 pasqualina-vonlanthendinenna 2022-03-18 Build site.
Rmd 792f3f0 pasqualina-vonlanthendinenna 2022-03-18 removed climatology from oceansoda temperature
html e12a216 pasqualina-vonlanthendinenna 2022-03-15 Build site.
Rmd e4d1d1e pasqualina-vonlanthendinenna 2022-03-15 updated to new only flag A data
html c8451b9 pasqualina-vonlanthendinenna 2022-03-14 Build site.
html 1ffe07f pasqualina-vonlanthendinenna 2022-03-11 Build site.
Rmd f0fde29 pasqualina-vonlanthendinenna 2022-03-11 changed anomaly detection to 1x1 grid with old data
html 7540ae4 pasqualina-vonlanthendinenna 2022-03-08 Build site.
Rmd 18dff1b pasqualina-vonlanthendinenna 2022-03-08 subsetted profiles with flag A only for extremes
html 9d97f25 pasqualina-vonlanthendinenna 2022-03-02 Build site.
Rmd 9ccabc6 pasqualina-vonlanthendinenna 2022-03-02 removed facet wrap
html e4188d2 pasqualina-vonlanthendinenna 2022-03-01 Build site.
Rmd 6ca535c pasqualina-vonlanthendinenna 2022-03-01 updated profiles
html da665ab pasqualina-vonlanthendinenna 2022-03-01 Build site.
Rmd 57ada58 pasqualina-vonlanthendinenna 2022-03-01 updated figure aspects
html 5ef4df2 pasqualina-vonlanthendinenna 2022-03-01 Build site.
Rmd 8ef1277 pasqualina-vonlanthendinenna 2022-03-01 plotted Atlantic mean seasonal profiles
Rmd 73463cc pasqualina-vonlanthendinenna 2022-03-01 changed line thickness for H and L raw profiles
html c4362e5 pasqualina-vonlanthendinenna 2022-02-28 Build site.
Rmd 5b0901d pasqualina-vonlanthendinenna 2022-02-28 corrected dates and titles
html d299359 pasqualina-vonlanthendinenna 2022-02-28 Build site.
Rmd aad1df4 pasqualina-vonlanthendinenna 2022-02-28 plotted specific profiles
html fd521d1 pasqualina-vonlanthendinenna 2022-02-25 Build site.
Rmd 64c2c71 pasqualina-vonlanthendinenna 2022-02-25 plotted line profiles and changed HNL colors
html 7d7874c pasqualina-vonlanthendinenna 2022-02-24 Build site.
Rmd 58d2846 pasqualina-vonlanthendinenna 2022-02-24 added st dev for temp profiles
html c68163a pasqualina-vonlanthendinenna 2022-02-22 Build site.
Rmd 818ac54 pasqualina-vonlanthendinenna 2022-02-22 updated regression and merging for extreme_temp
html f98c744 pasqualina-vonlanthendinenna 2022-02-18 Build site.
Rmd 8b99ab3 pasqualina-vonlanthendinenna 2022-02-18 updates
html 19aa73d pasqualina-vonlanthendinenna 2022-02-16 Build site.
Rmd d955d28 pasqualina-vonlanthendinenna 2022-02-16 updated extreme temperature
html 905d82f pasqualina-vonlanthendinenna 2022-02-15 Build site.
Rmd 01ae9da pasqualina-vonlanthendinenna 2022-02-15 added OceanSODA-Argo SST comparison
html 54ea512 pasqualina-vonlanthendinenna 2022-02-10 Build site.
html f2fa56a pasqualina-vonlanthendinenna 2022-02-10 Build site.
Rmd eda8ca8 pasqualina-vonlanthendinenna 2022-02-10 code review

Task

Compare depth profiles of normal temperature and of extreme temperature, as identified in the surface OceanSODA data product

theme_set(theme_bw())
HNL_colors <- c("H" = "#b2182b",
                "N" = "#636363",
                "L" = "#2166ac")

HNL_colors_map <- c('H' = 'red3',
                    'N' = 'transparent',
                    'L' = 'blue3')

Load data

path_argo <- '/nfs/kryo/work/updata/bgc_argo_r_argodata'
path_argo_preprocessed <- paste0(path_argo, "/preprocessed_bgc_data")
path_emlr_utilities <- "/nfs/kryo/work/jenmueller/emlr_cant/utilities/files/"
path_updata <- '/nfs/kryo/work/updata'
path_argo_clim_temp <- paste0(path_updata, "/argo_climatology/temperature")
# RECCAP2-ocean region mask

#  region_masks_all_2x2 <- read_rds(file = paste0(path_argo_preprocessed,
#                                                 "/region_masks_all_2x2.rds"))
# #   
# region_masks_all_2x2 <- region_masks_all_2x2 %>%
#   rename(biome = value) %>%
#   mutate(coast = as.character(coast))

# updated biomes of Nicolas Mayot 

nm_biomes <- read_rds(file = paste0(path_argo_preprocessed, "/nm_biomes.rds"))

# WOA 18 basin mask

basinmask <-
  read_csv(
    paste(path_emlr_utilities,
          "basin_mask_WOA18.csv",
          sep = ""),
    col_types = cols("MLR_basins" = col_character())
  )

basinmask <- basinmask %>%
  filter(MLR_basins == unique(basinmask$MLR_basins)[1]) %>% 
  select(-c(MLR_basins, basin))

# OceanSODA temperature (from 1995 to 2020)

OceanSODA_temp <- read_rds(file = paste0(path_argo_preprocessed, "/OceanSODA_temp.rds"))

OceanSODA_temp <- OceanSODA_temp %>%
  mutate(month = month(date))

# Argo flag A profiles

full_argo <-
  read_rds(file = paste0(path_argo_preprocessed, "/bgc_merge_flag_AB.rds"))

full_argo <- full_argo %>%
  select(-c(ph_in_situ_total_adjusted:ph_in_situ_total_adjusted_error,
            profile_ph_in_situ_total_qc))

# change the date format for compatibility with OceanSODA data
full_argo <- full_argo %>%
  mutate(year = year(date),
         month = month(date)) %>%
  mutate(date = ymd(format(date, "%Y-%m-15")))

# base map for plotting
map <-
  read_rds(paste(path_emlr_utilities,
                 "map_landmask_WOA18.rds",
                 sep = ""))
# restrict base map to Southern Ocean
map <- map +
  lims(y = c(-85, -30))

Regions

Biome grid reduction

map+
  geom_tile(data = nm_biomes,
            aes(x = lon,
                y = lat,
                fill = biome_name))+
  scale_fill_brewer(palette = 'Dark2')+
  labs(title = 'Mayot biomes (pre-grid reduction)')

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
48573c4 pasqualina-vonlanthendinenna 2022-03-31
basemap(limits = -30)+
  geom_spatial_tile(data = nm_biomes,
                    aes(x = lon,
                        y = lat,
                        fill = biome_name),
                    col = NA)+
  scale_fill_brewer(palette = 'Dark2')+
  labs(title = 'Mayot biomes (pre-grid reduction)')
nm_biomes_2x2 <- nm_biomes %>% 
  mutate(lon = cut(lon, seq(20, 380, 2), seq(21, 379, 2)),
         lon = as.numeric(as.character(lon)),
         lat = cut(lat, seq(-90, 90, 2), seq(-89, 89, 2)),
         lat = as.numeric(as.character(lat)))

nm_biomes_2x2 <- nm_biomes_2x2 %>% 
  count(lon, lat, biome_name) %>% 
  group_by(lon, lat) %>% 
  slice_max(n, with_ties = FALSE) %>% 
  ungroup()

rm(nm_biomes)
map+
  geom_tile(data = nm_biomes_2x2,
            aes(x = lon,
                y = lat,
                fill = biome_name))+
  scale_fill_brewer(palette = 'Dark2')+
  labs('Mayot biomes post-grid reduction')

Version Author Date
48573c4 pasqualina-vonlanthendinenna 2022-03-31
basemap(limits = -30)+
  geom_spatial_tile(data = nm_biomes_2x2,
                    aes(x = lon, 
                        y = lat,
                        fill = biome_name),
                    col = NA)+
  scale_fill_brewer(palette = 'Dark2')+
  labs(title = 'Mayot biomes (post-grid reduction)')

Basin grid reduction

basinmask <- basinmask %>%
  filter(lat < -30)
map +
  geom_tile(data = basinmask, 
            aes(x = lon, 
                y = lat, 
                fill = basin_AIP))+
  scale_fill_brewer(palette = 'Dark2')

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
basinmask_2x2 <- basinmask %>%
  mutate(
    lat = cut(lat, seq(-90, 90, 2), seq(-89, 89, 2)),
    lat = as.numeric(as.character(lat)),
    lon = cut(lon, seq(20, 380, 2), seq(21, 379, 2)),
    lon = as.numeric(as.character(lon))
   )

# assign basins from each pixel to to each 2 Lon x Lat pixel, based on the majority of basins in each 2x2 grid

basinmask_2x2 <- basinmask_2x2 %>%
  count(lon, lat, basin_AIP) %>%
  group_by(lon, lat) %>%
  slice_max(n, with_ties = FALSE) %>%
  ungroup() %>%
  select(-n)

rm(basinmask)
map+
  geom_tile(data = basinmask_2x2 %>% filter(lat < -30),
            aes(x = lon,
                y = lat,
                fill = basin_AIP))+
  scale_fill_brewer(palette = 'Dark2')

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
basemap(limits = -32)+
  geom_spatial_tile(data = basinmask_2x2 %>% filter(lat < -32),
                    aes(x = lon,
                        y = lat,
                        fill = basin_AIP),
                    col = NA)+
  scale_fill_brewer(palette = 'Dark2')

OceanSODA

Monthly clim

OceanSODA_temp <- OceanSODA_temp %>% 
  group_by(lon, lat, month) %>% 
  mutate(clim_temp = mean(temperature, na.rm = TRUE),
         clim_diff = temperature - clim_temp,
         .after = temperature) %>% 
  ungroup()

Grid reduction

# Note: While reducing lon x lat grid,
# we keep the original number of observations

OceanSODA_temp_2x2 <- OceanSODA_temp %>%
  mutate(
    lat_raw = lat,
    lon_raw = lon,
    lat = cut(lat, seq(-90, 90, 2), seq(-89, 89, 2)),
    lat = as.numeric(as.character(lat)),
    lon = cut(lon, seq(20, 380, 2), seq(21, 379, 2)),
    lon = as.numeric(as.character(lon))) # regrid into 2x2º grid

rm(OceanSODA_temp)

Apply region masks

# keep only Southern Ocean data
OceanSODA_temp_2x2_SO <- inner_join(OceanSODA_temp_2x2, nm_biomes_2x2 %>% 
                                      select(-n)) 

rm(OceanSODA_temp_2x2)

# add in basin separations
OceanSODA_temp_2x2_SO <- inner_join(OceanSODA_temp_2x2_SO, basinmask_2x2)
# expected number of rows from -30 to -70º latitude, 360º longitude, for 12 months, 8 years:
# 40 lat x 360 lon x 12 months x 8 years = 1 382 400 rows 
# actual number of rows: 925 260 (in line with expectations)

OceanSODA_temp_2x2_SO <- OceanSODA_temp_2x2_SO %>% 
  filter(!is.na(temperature))
# no NA clim_diff values 

Maps

OceanSODA_temp_2x2_SO %>% 
  filter(year == 2020) %>% 
  ggplot(aes(lon_raw, lat_raw, fill = clim_temp)) +
  geom_tile() +
  scale_fill_viridis_c() +
  facet_wrap(~ month, ncol = 2) +
  coord_quickmap(expand = 0)

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
OceanSODA_temp_2x2_SO %>% 
  group_split(month) %>% 
  #head(1) %>% 
  map(
    ~map +
      geom_tile(data = .x,
                aes(x = lon_raw,
                    y = lat_raw,
                    fill = clim_temp))+
      scale_fill_viridis_c()+
      labs(title = paste0('month:', unique(.x$month)))+
      theme(legend.position = 'right')
  )
[[1]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[2]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[3]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[4]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[5]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[6]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[7]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[8]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[9]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[10]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[11]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[12]]

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
OceanSODA_temp_2x2_SO %>% 
  group_split(month) %>% 
  #head(1) %>% 
  map(
    ~map +
      geom_tile(data = .x,
                aes(x = lon_raw,
                    y = lat_raw,
                    fill = clim_diff))+
      scale_fill_divergent(mid = 'grey80')+
      facet_wrap(~year, ncol = 3)+
      labs(title = paste0('month:', unique(.x$month)))+
      theme(legend.position = 'right')
  )
[[1]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[2]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[3]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[4]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[5]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[6]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[7]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[8]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[9]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[10]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[11]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[12]]

Version Author Date
710edd4 jens-daniel-mueller 2022-05-11
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

SST anomalies

Through setting only one of the following two code chunks to “eval=FALSE” you can choose between a lm- and a mean-based anomaly detection.

Fit lm models

# fit a linear regression of OceanSODA pH against time (temporal trend)
# in each lat/lon/month grid

OceanSODA_temp_regression <- OceanSODA_temp_2x2_SO %>% 
  # filter(basin_AIP == "Indian",
  #        biome_name == "SPSS",
  #        lon < 40) %>%
  nest(data = -c(lon, lat, month)) %>%
  mutate(fit = map(.x = data,
                   .f = ~ lm(clim_diff ~ year, data = .x)),
         tidied = map(.x = fit, .f = tidy),
         glanced = map(.x = fit, .f = glance),
         augmented = map(.x = fit, .f = augment)) 


OceanSODA_temp_regression_tidied <- OceanSODA_temp_regression %>%
  select(-c(data, fit, augmented, glanced)) %>%
  unnest(tidied) 

OceanSODA_temp_regression_tidied <- OceanSODA_temp_regression_tidied %>% 
  select(lon:estimate) %>% 
  pivot_wider(names_from = term,
              values_from = estimate) %>% 
  rename(intercept = `(Intercept)`,
         slope = year)

OceanSODA_temp_regression_augmented <- OceanSODA_temp_regression %>%
  select(-c(fit, tidied, glanced, data)) %>%
  unnest(augmented) %>% 
  select(lon:year, .resid) 

OceanSODA_temp_regression_data <- OceanSODA_temp_regression %>% 
  select(-c(fit, tidied, glanced, augmented)) %>% 
  unnest(data) 

OceanSODA_temp_regression_augmented <- bind_cols(
  OceanSODA_temp_regression_augmented,
  OceanSODA_temp_regression_data %>% 
    select(date,
           basin_AIP, biome_name,
           temperature, clim_temp, 
           lat_raw, lon_raw))

OceanSODA_temp_regression_glanced <- OceanSODA_temp_regression %>%
  select(-c(data, fit, tidied, augmented)) %>%
  unnest(glanced) 

Fit mean

# identify the mean value
# in each lat/lon/month grid

OceanSODA_temp_regression_tidied <- OceanSODA_temp_2x2_SO %>% 
  # filter(basin_AIP == "Indian",
  #        biome_name == "SPSS",
  #        lon < 40) %>%
  group_by(lon, lat, month) %>%
  summarise(slope = 0,
            intercept = mean(clim_diff, na.rm = TRUE)) %>% 
  ungroup()

OceanSODA_temp_regression_glanced <- OceanSODA_temp_2x2_SO %>% 
  # filter(basin_AIP == "Indian",
  #        biome_name == "SPSS",
  #        lon < 40) %>%
  group_by(lon, lat, month) %>%
  summarise(sigma = sd(clim_diff, na.rm = TRUE)) %>% 
  ungroup()

OceanSODA_temp_regression_augmented <- OceanSODA_temp_2x2_SO %>% 
  # filter(basin_AIP == "Indian",
  #        biome_name == "SPSS",
  #        lon < 40) %>%
  mutate(.resid = clim_diff)

Slope maps

map+
  geom_tile(data = OceanSODA_temp_regression_tidied,
            aes(x = lon,
                y = lat, 
                fill = slope))+
  scale_fill_scico(palette = 'vik', midpoint = 0)+
  facet_wrap(~month, ncol = 2)

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

Sigma maps

map+
  geom_tile(data = OceanSODA_temp_regression_glanced,
            aes(x = lon,
                y = lat, 
                fill = sigma))+
  scale_fill_viridis_c()+
  facet_wrap(~month, ncol = 2)+
  labs(fill = '1 residual \nst. dev.')

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

Anomaly identification

Calculate OceanSODA surface temperature anomalies; L for abnormally low, H for abnormally high, and N for normal

# when the in-situ OceanSODA temperature is lower than the 5th percentile (predicted - 2*residual.st.dev), assign 'L' for low extreme
# when the in-situ OceanSODA temperature exceeds the 95th percentile (predicted + 2*residual.st.dev), assign 'H' for high extreme
# when the in-situ OceanSODA temperature is within 95% of the range, then assign 'N' for normal pH

# combine observations and regression statistics

OceanSODA_temp_SO_extreme_grid <-
  full_join(
    OceanSODA_temp_regression_augmented,
    OceanSODA_temp_regression_glanced %>%
      select(lon:month, sigma)
  )
# results in 925 056 rows 

# identify observations in anomaly classes

OceanSODA_temp_SO_extreme_grid <- OceanSODA_temp_SO_extreme_grid %>%
  mutate(
    temp_extreme = case_when(
      .resid < -sigma*2 ~ 'L',
      .resid > sigma*2 ~ 'H',
      TRUE ~ 'N'
    )
  ) 

OceanSODA_temp_SO_extreme_grid <- OceanSODA_temp_SO_extreme_grid %>%
  mutate(temp_extreme = fct_relevel(temp_extreme, "H", "N", "L"))


# combine with regression coefficients

OceanSODA_temp_SO_extreme_grid <-
  full_join(OceanSODA_temp_SO_extreme_grid,
            OceanSODA_temp_regression_tidied) 
# 925 056 rows, in line with expectations for 40 lat x 360 lon x 12 months x 8 years (1 382 400 obs minus NA values)

Write anomalies to file

OceanSODA_temp_SO_extreme_grid %>% 
  write_rds(file = paste0(path_argo_preprocessed, "/OceanSODA_SST_anomaly_field.rds"))
OceanSODA_temp_SO_extreme_grid %>%
  group_split(lon, lat, month) %>%
  head(6) %>%
  map(~ ggplot(data = .x) +
        geom_point(aes(x = year,
                       y = clim_diff,
                       col = temp_extreme)) +
        geom_abline(data = .x, aes(slope = slope,
                    intercept = intercept)) +
        geom_abline(data = .x, aes(slope = slope,
                    intercept = intercept + 2*sigma),
                    linetype = 2) +
        geom_abline(data = .x, aes(slope = slope,
                    intercept = intercept - 2*sigma),
                    linetype = 2) +
        labs(title = paste(fititle = paste(
          "lon:", unique(.x$lon),
          "| lat:", unique(.x$lat),
          "| month:", unique(.x$month)
          ))) +
        scale_color_manual(values = HNL_colors))
[[1]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[2]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[3]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[4]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[5]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[6]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

Anomaly maps

# anomaly maps on a 1x1 grid 

# OceanSODA_temp_SO_extreme_grid %>%
#   group_split(year) %>%
#   # head(1) %>%
#   map(
#     ~map +
#       geom_tile(data = .x,
#                 aes(x = lon_raw,
#                     y = lat_raw,
#                     fill = temp_extreme),
#                 width = 1,
#                 height = 1)+
#       scale_fill_manual(values = HNL_colors_map)+
#       facet_wrap(~month, ncol = 2)+
#       labs(title = paste('Year:', unique(.x$year)),
#            fill = 'temperature')
#   )

OceanSODA_temp_SO_extreme_grid %>% 
  filter(year >= 2013) %>% 
  group_split(month) %>% 
  #head(1) %>% 
  map(
    ~map +
      geom_tile(data = .x,
                aes(x = lon_raw,
                    y = lat_raw,
                    fill = temp_extreme),
                width = 1,
                height = 1)+
      scale_fill_manual(values = HNL_colors_map)+
      facet_wrap(~year, ncol = 2)+
      labs(title = paste('month:', unique(.x$month)),
           fill = 'temperature')
  )
[[1]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[2]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[3]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[4]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[5]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[6]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[7]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[8]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[9]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[10]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[11]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

[[12]]

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29

Anomaly timeseries

# calculate a regional mean temperature for each biome, basin, and ph extreme (H/L/N) and plot a timeseries 

OceanSODA_temp_SO_extreme_grid %>% 
  group_by(year, biome_name, basin_AIP, temp_extreme) %>% 
  summarise(temp_regional = mean(temperature, na.rm = TRUE)) %>% 
  ungroup() %>% 
  ggplot(aes(x = year, y = temp_regional, col = temp_extreme))+
  geom_point(size = 0.3)+
  geom_line()+
  scale_color_manual(values = HNL_colors) +
  facet_grid(basin_AIP~biome_name)+
  theme(legend.position = 'bottom')

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
c68163a pasqualina-vonlanthendinenna 2022-02-22
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

Anomaly histogram

# histograms for each extreme level 

OceanSODA_temp_SO_extreme_grid %>%
  ggplot(aes(temperature, col = temp_extreme)) +
  geom_density() +
  scale_color_manual(values = HNL_colors) +
  facet_grid(basin_AIP ~ biome_name) +
  coord_cartesian(xlim = c(-2, 28)) +
  labs(x = 'value',
       y = 'density',
       col = 'temp anomaly') +
  theme(legend.position = 'bottom')

Version Author Date
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
c68163a pasqualina-vonlanthendinenna 2022-02-22
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

Argo

Grid reduction

# Note: While reducing lon x lat grid,
# we keep the original number of observations

full_argo_2x2 <- full_argo %>%
  mutate(
    lat_raw = lat,
    lon_raw = lon,
    lat = cut(lat, seq(-90, 90, 2), seq(-89, 89, 2)),
    lat = as.numeric(as.character(lat)),
    lon = cut(lon, seq(20, 380, 2), seq(21, 379, 2)),
    lon = as.numeric(as.character(lon)))  # re-grid to 2x2

Apply region masks

# add in new Mayot biome information
full_argo_2x2_SO <- inner_join(full_argo_2x2, nm_biomes_2x2)

# add in basin separations
full_argo_2x2_SO <- inner_join(full_argo_2x2_SO, basinmask_2x2)

Join OceanSODA

# revert OceanSODA to regular 1x1 grid
OceanSODA_temp_SO_extreme_grid <- OceanSODA_temp_SO_extreme_grid %>%
  select(-c(lon, lat)) %>%
  rename(OceanSODA_temp = temperature,
         lon = lon_raw,
         lat = lat_raw) %>% 
  filter(year >=2013)
# 925 056 obs 

# combine the argo profile data to the surface extreme data
profile_temp_extreme <- inner_join(
  full_argo %>% 
    select(c(year, month, date, lon, lat, depth,
           temp_adjusted,
           platform_number,
           cycle_number)),                 # 567 327 obs 
  OceanSODA_temp_SO_extreme_grid %>% 
    select(c(year, month, date, lon, lat,
           OceanSODA_temp, temp_extreme,
           clim_temp, clim_diff,
           basin_AIP, biome_name)))

profile_temp_extreme <- profile_temp_extreme %>% 
  unite('platform_cycle', platform_number:cycle_number, sep = '_', remove = FALSE)

Location of Argo profiles

OceanSODA_temp_SO_extreme_grid %>%
  group_split(month) %>%
  # head(1) %>%
  map(
    ~ map +
      geom_tile(
        data = .x,
        aes(x = lon,
            y = lat,
            fill = temp_extreme),
        alpha = 0.5
      ) +
      scale_fill_manual(values = HNL_colors_map) +
      new_scale_fill() +
      geom_tile(
        data = profile_temp_extreme %>%
          distinct(lon, lat, platform_cycle, year, month),
        aes(
          x = lon,
          y = lat,
          fill = 'argo\nprofiles',
          height = 1,
          width = 1
        ),
        alpha = 0.5
      ) +
      scale_fill_manual(values = "springgreen4",
                        name = "") +
      facet_wrap(~ year, ncol = 1) +
      lims(y = c(-85, -30)) +
      labs(title = paste('month:', unique(.x$month))
      )
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[5]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[6]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[7]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[8]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[9]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[10]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[11]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

[[12]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
ca30beb pasqualina-vonlanthendinenna 2022-05-05
4cf88e4 pasqualina-vonlanthendinenna 2022-05-05
2751f13 pasqualina-vonlanthendinenna 2022-05-05
f46b9da pasqualina-vonlanthendinenna 2022-05-05
2d44f8a pasqualina-vonlanthendinenna 2022-04-29

Plot profiles

Argo profiles plotted according to the surface OceanSODA temperature

L profiles correspond to a low surface temperature event, as recorded in OceanSODA

H profiles correspond to an event of high surface temperature, as recorded in OceanSODA

N profiles correspond to normal surface OceanSODA temperature

Raw

By Mayot biomes

profile_temp_extreme %>%
  group_split(biome_name, basin_AIP, year) %>% 
  head(6) %>%
  map(
    ~ ggplot() +
      geom_path(data = .x %>% filter(temp_extreme == 'N'),
                aes(x = temp_adjusted, 
                    y = depth,
                    group = platform_cycle,
                    col = temp_extreme),
                size = 0.3) +
      geom_path(data = .x %>% filter(temp_extreme == 'H' | temp_extreme == 'L'),
                aes(x = temp_adjusted,
                    y = depth,
                    group = platform_cycle,
                    col = temp_extreme),
                size = 0.5)+
      scale_y_reverse() +
      scale_color_manual(values = HNL_colors) +
      facet_wrap(~ month, ncol = 6) +
      labs(
        x = 'Argo temperature (ºC)',
        y = 'depth (m)',
        title = paste(
          unique(.x$basin_AIP),
          "|",
          unique(.x$year),
          "| biome:",
          unique(.x$biome_name)
        ),
        col = 'OceanSODA temp \nanomaly'
      )
  )
[[1]]

Version Author Date
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[5]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[6]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

Atl, STSS biome, Oct17

# Temperature extreme: 
# Atlantic biome 1, 2018, months 2 and 3 

OceanSODA_temp_SO_extreme_grid_2017 <- OceanSODA_temp_SO_extreme_grid %>% 
  filter(date == '2017-10-15')  

map+
  geom_tile(data = OceanSODA_temp_SO_extreme_grid_2017,
            aes(x = lon,
                y = lat,
                fill = temp_extreme))+
  scale_fill_manual(values = HNL_colors_map)+
  labs(title = 'October 2017',
       fill = 'OceanSODA SST \nextreme')

Version Author Date
ca30beb pasqualina-vonlanthendinenna 2022-05-05
c541171 pasqualina-vonlanthendinenna 2022-04-07
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
profile_temp_Atl_2017 <- profile_temp_extreme %>% 
  filter(date == '2017-10-15',
         basin_AIP == 'Atlantic',
         biome_name == 'STSS') 

profile_temp_Atl_2017 %>% 
  ggplot(aes(x = temp_adjusted,
             y = depth,
             group = platform_cycle,
             col = temp_extreme))+
  geom_path(data = profile_temp_Atl_2017 %>% filter(temp_extreme == 'N'),
            aes(x = temp_adjusted,
                y = depth,
                group = platform_cycle,
                col = temp_extreme),
            size = 0.3)+
  geom_path(data = profile_temp_Atl_2017 %>% filter(temp_extreme == 'H'| temp_extreme == 'L'),
            aes(x = temp_adjusted,
                y = depth,
                group = platform_cycle,
                col = temp_extreme),
            size = 0.5)+
  scale_y_reverse()+
  scale_color_manual(values = HNL_colors)+
  labs(title = 'Atlantic, STSS biome, October 2017',
       col = 'OceanSODA SST\nextreme',
       x = 'Argo temperature (ºC)')

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
dfd75e9 pasqualina-vonlanthendinenna 2022-03-29
rm(profile_temp_Atl_2017, OceanSODA_temp_SO_extreme_grid_2017)

Atl, SPSS biome, Jul16

# Atlantic biome 2, 2016 month 7 

OceanSODA_temp_SO_extreme_grid_2016 <- OceanSODA_temp_SO_extreme_grid %>% 
  filter(date == '2016-07-15')  

map+
  geom_tile(data = OceanSODA_temp_SO_extreme_grid_2016,
            aes(x = lon,
                y = lat,
                fill = temp_extreme))+
  scale_fill_manual(values = HNL_colors_map)+
  labs(title = 'July 2016',
       fill = 'OceanSODA SST \nextreme')

profile_temp_Atl_2016 <- profile_temp_extreme %>% 
  filter(date == '2016-07-15',
         basin_AIP == 'Atlantic',
         biome_name == 'SPSS') 

profile_temp_Atl_2016 %>% 
  ggplot(aes(x = temp_adjusted,
             y = depth,
             group = platform_cycle,
             col = temp_extreme))+
  geom_path(data = profile_temp_Atl_2016 %>% filter(temp_extreme == 'N'),
            aes(x = temp_adjusted,
                y = depth, 
                group = platform_cycle,
                col = temp_extreme),
            size = 0.3)+
  geom_path(data = profile_temp_Atl_2016 %>% filter(temp_extreme == 'H'|temp_extreme == 'L'),
            aes(x = temp_adjusted,
                y = depth, 
                group = platform_cycle,
                col = temp_extreme),
            size = 0.5)+
  scale_y_reverse()+
  scale_color_manual(values = HNL_colors)+
  labs(title = 'Atlantic, SPSS biome, July 2016',
       col = 'OceanSODA SST\nextreme',
       x = 'Argo temperature (ºC)')

rm(profile_temp_Atl_2016, OceanSODA_temp_SO_extreme_grid_2016)

Averaged profiles

# cut depth levels at 10, 20, .... etc m
# add seasons 
# Dec, Jan, Feb <- summer 
# Mar, Apr, May <- autumn 
# Jun, Jul, Aug <- winter 
# Sep, Oct, Nov <- spring 

profile_temp_extreme <- profile_temp_extreme %>%
  mutate(
    depth = Hmisc::cut2(
      depth,
      cuts = c(10, 20, 30, 50, 70, 100, 300, 500, 800, 1000, 1500, 2000, 2500),
      levels.mean = TRUE,
      digits = 3
    ),
    depth = as.numeric(as.character(depth))
  ) %>%
  mutate(
    season = case_when(
      between(month, 3, 5) ~ 'autumn',
      between(month, 6, 8) ~ 'winter',
      between(month, 9, 11) ~ 'spring',
      month == 12 | 1 | 2 ~ 'summer'
    ),
    .after = date
  )

Overall mean

profile_temp_extreme_mean <- profile_temp_extreme %>%
  group_by(temp_extreme, depth) %>%
  summarise(temp_mean = mean(temp_adjusted, na.rm = TRUE),
            temp_std = sd(temp_adjusted, na.rm = TRUE)) %>%
  ungroup()

profile_temp_extreme_mean %>%
  arrange(depth) %>%
  ggplot(aes(y = depth)) +
  geom_ribbon(aes(xmin = temp_mean - temp_std,
                  xmax = temp_mean + temp_std,
                  fill = temp_extreme), 
              alpha = 0.2)+
  geom_path(aes(x = temp_mean,
                col = temp_extreme))+
  scale_color_manual(values = HNL_colors) +
  scale_fill_manual(values = HNL_colors)+
  labs(title = "Overall mean",
       col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       y = 'depth (m)',
       x = 'mean Argo temperature (ºC)') +
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
7d7874c pasqualina-vonlanthendinenna 2022-02-24
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10
rm(profile_temp_extreme_mean)

Number of profiles

profile_temp_count_mean <- profile_temp_extreme %>% 
  distinct(temp_extreme, platform_number, cycle_number) %>% 
  count(temp_extreme)

profile_temp_count_mean %>% 
  ggplot(aes(x = temp_extreme, y = n, fill = temp_extreme))+
  geom_col(width = 0.5)+
  scale_y_continuous(trans = 'log10')+
  labs(y = 'log(number of profiles)',
       title = 'Number of profiles')

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10
# rm(profile_temp_count_mean)

Surface Argo temperature vs surface OceanSODA temperature (20 m)

# calculate surface-mean argo SST, for each profile 
surface_temp_mean <- profile_temp_extreme %>% 
  filter(depth <= 20) %>% 
  group_by(temp_extreme, platform_number, cycle_number) %>% 
  summarise(argo_surf_temp = mean(temp_adjusted, na.rm = TRUE),
            OceanSODA_surf_temp = mean(OceanSODA_temp, na.rm = TRUE))

surface_temp_mean %>% 
  group_by(temp_extreme) %>%
  group_split() %>% 
  # head(1) %>%
  map(
  ~ggplot(data = .x, aes(x = OceanSODA_surf_temp, 
             y = argo_surf_temp))+
  geom_bin2d(data = .x, aes(x = OceanSODA_surf_temp, 
                 y = argo_surf_temp), size = 0.3, bins = 60) +
  scale_fill_viridis_c()+
  geom_abline(slope = 1, intercept = 0)+
  coord_fixed(ratio = 1,
              xlim = c(-3, 28),
              ylim = c(-3, 28))+
    labs(title = paste('temp extreme:', unique(.x$temp_extreme)),
         x = 'OceanSODA temp',
         y = 'Argo temp')
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
fd521d1 pasqualina-vonlanthendinenna 2022-02-25
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
fd521d1 pasqualina-vonlanthendinenna 2022-02-25
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
fd521d1 pasqualina-vonlanthendinenna 2022-02-25
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10
rm(surface_temp_mean)

January overall mean profiles

profile_temp_extreme_mean_jan <- profile_temp_extreme %>%
  filter(month == 1) %>% 
  group_by(temp_extreme, depth) %>%
  summarise(temp_mean = mean(temp_adjusted, na.rm = TRUE),
            temp_std = sd(temp_adjusted, na.rm = TRUE)) %>%
  ungroup()

profile_temp_extreme_mean_jan %>%
  arrange(depth) %>%
  ggplot(aes(y = depth)) +
  geom_ribbon(aes(xmin = temp_mean - temp_std,
                  xmax = temp_mean + temp_std,
                  fill = temp_extreme), 
              alpha = 0.2)+
  geom_path(aes(x = temp_mean,
                col = temp_extreme))+
  scale_color_manual(values = HNL_colors) +
  scale_fill_manual(values = HNL_colors)+
  labs(title = "January mean",
       col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       y = 'depth (m)',
       x = 'mean Argo temperature (ºC)') +
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))

rm(profile_temp_extreme_mean_jan)

Season x Mayot biome

profile_temp_extreme_biome <- profile_temp_extreme %>% 
  group_by(season, biome_name, temp_extreme, depth) %>% 
  summarise(temp_biome = mean(temp_adjusted, na.rm = TRUE),
            temp_std_biome = sd(temp_adjusted, na.rm = TRUE)) %>% 
  ungroup()
  

profile_temp_extreme_biome %>%
  ggplot(aes(
    x = temp_biome,
    y = depth,
    group = temp_extreme,
    col = temp_extreme
  )) +
  geom_ribbon(aes(xmax = temp_biome + temp_std_biome,
                  xmin = temp_biome - temp_std_biome,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA, 
              alpha = 0.2)+
  geom_path() +
  scale_color_manual(values = HNL_colors) +
  scale_fill_manual(values = HNL_colors)+
  labs(col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       y = 'depth (m)',
       x = 'biome mean Argo temperature (ºC)') +
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500))) +
  lims(x = c(-3, 18))+
  facet_grid(season ~ biome_name)

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
rm(profile_temp_extreme_biome)

Number of profiles per season per Mayot biome

profile_temp_count_biome <- profile_temp_extreme %>% 
  distinct(season, biome_name, temp_extreme, platform_number, cycle_number) %>%
  group_by(season, biome_name, temp_extreme) %>% 
  count(temp_extreme)

profile_temp_count_biome %>% 
  ggplot(aes(x = temp_extreme, y = n, fill = temp_extreme))+
  geom_col(width = 0.5)+
  facet_grid(season ~ biome_name)+
  scale_y_continuous(trans = 'log10')+
  labs(y = 'log(number of profiles)',
       title = 'Number of profiles season x Mayot biome')

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
# rm(profile_temp_count_biome)

Surface Argo temp vs surface OceanSODA temp season x Mayot biome (20 m)

surface_temp_biome <- profile_temp_extreme %>% 
  filter(depth <= 20) %>% 
  group_by(season, biome_name, temp_extreme, platform_number, cycle_number) %>% 
  summarise(argo_surf_temp = mean(temp_adjusted, na.rm=TRUE),
            OceanSODA_surf_temp = mean(OceanSODA_temp, na.rm = TRUE))

surface_temp_biome %>% 
  group_by(temp_extreme) %>% 
  group_split(temp_extreme) %>% 
  map(
  ~ggplot(data = .x, aes(x = OceanSODA_surf_temp, 
             y = argo_surf_temp))+
  geom_bin2d(data = .x, aes(x = OceanSODA_surf_temp, 
                 y = argo_surf_temp)) +
  scale_fill_viridis_c()+
  geom_abline(slope = 1, intercept = 0)+
  coord_fixed(ratio = 1, 
              xlim = c(-3, 25),
              ylim = c(-3, 25))+
  facet_grid(season~biome_name) +
    labs(title = paste( 'Temp extreme:', unique(.x$temp_extreme)),
         x = 'OceanSODA temp',
         y = 'Argo temp')
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
rm(surface_temp_biome)

Season x basin

profile_temp_extreme_basin <- profile_temp_extreme %>% 
  group_by(season, basin_AIP, temp_extreme, depth) %>% 
  summarise(temp_basin = mean(temp_adjusted, na.rm = TRUE),
            temp_basin_std = sd(temp_adjusted, na.rm = TRUE)) %>% 
  ungroup()

profile_temp_extreme_basin %>% 
  ggplot(aes(x = temp_basin, 
             y = depth, 
             group = temp_extreme, 
             col = temp_extreme))+
  geom_ribbon(aes(xmin = temp_basin - temp_basin_std,
                  xmax = temp_basin + temp_basin_std,
                  group = temp_extreme, 
                  fill = temp_extreme),
              col = NA, 
              alpha = 0.2)+
  geom_path()+
  scale_color_manual(values = HNL_colors)+
  scale_fill_manual(values = HNL_colors)+
  labs(col = 'OceanSODA\ntemp anomaly\n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly\n(mean ± st dev)',
       y = 'depth (m)',
       x = 'basin-mean Argo temperature (ªC)')+
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500))) +
  facet_grid(season~basin_AIP)

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
7d7874c pasqualina-vonlanthendinenna 2022-02-24
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10
rm(profile_temp_extreme_basin)

Number of profiles season x basin

profile_temp_count_basin <- profile_temp_extreme %>% 
  distinct(season, basin_AIP, temp_extreme, platform_number, cycle_number) %>% 
  group_by(season, basin_AIP, temp_extreme) %>% 
  count(temp_extreme)

profile_temp_count_basin %>% 
  ggplot(aes(x = temp_extreme, y = n, fill = temp_extreme))+
  geom_col(width = 0.5)+
  facet_grid(season~basin_AIP)+
  scale_y_continuous(trans = 'log10')+
  labs(y = 'log(number of profiles)',
       title = 'Number of profiles season x basin')

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10
# rm(profile_temp_count_basin)

Surface Argo temperature vs surface OceanSODA temperature (20 m) season x basin

# calculate surface-mean argo pH to compare against OceanSODA surface pH (one value)
surface_temp_basin <- profile_temp_extreme %>% 
  filter(depth <= 20) %>% 
  group_by(season, basin_AIP, temp_extreme, platform_number, cycle_number) %>% 
  summarise(surf_argo_temp = mean(temp_adjusted, na.rm=TRUE),
            surf_OceanSODA_temp = mean(OceanSODA_temp, na.rm = TRUE)) 

surface_temp_basin %>% 
  group_by(temp_extreme) %>% 
  group_split(temp_extreme) %>% 
  map(
  ~ggplot(data = .x, aes(x = surf_OceanSODA_temp, 
             y = surf_argo_temp))+
  geom_bin2d(data = .x, aes(x = surf_OceanSODA_temp, 
                 y = surf_argo_temp)) +
    scale_fill_viridis_c()+
  geom_abline(slope = 1, intercept = 0)+
  coord_fixed(ratio = 1, 
              xlim = c(-3, 25),
              ylim = c(-3, 25))+
  facet_grid(season~basin_AIP) +
    labs(title = paste('Temp extreme:', unique(.x$temp_extreme)),
         x = 'OceanSODA temp',
         y = 'Argo temp')
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
fd521d1 pasqualina-vonlanthendinenna 2022-02-25
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
fd521d1 pasqualina-vonlanthendinenna 2022-02-25
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01
8ef1277 pasqualina-vonlanthendinenna 2022-03-01
fd521d1 pasqualina-vonlanthendinenna 2022-02-25
c68163a pasqualina-vonlanthendinenna 2022-02-22
19aa73d pasqualina-vonlanthendinenna 2022-02-16
f2fa56a pasqualina-vonlanthendinenna 2022-02-10
rm(surface_temp_basin)

Season x Mayot biome x Basin

profile_temp_extreme_season <- profile_temp_extreme %>%
  group_by(season, biome_name, basin_AIP, temp_extreme, depth) %>%
  summarise(temp_mean = mean(temp_adjusted, na.rm = TRUE),
            temp_std = sd(temp_adjusted, na.rm = TRUE)) %>%
  ungroup()

profile_temp_extreme_season %>%
  arrange(depth) %>%
  group_split(season) %>%
  # head(1) %>%
  map(
    ~ ggplot(
      data = .x,
      aes(x = temp_mean,
          y = depth,
          group = temp_extreme,
          col = temp_extreme)) +
      geom_ribbon(aes(xmax = temp_mean + temp_std,
                      xmin = temp_mean - temp_std,
                      group = temp_extreme,
                      fill = temp_extreme),
                  col = NA,
                  alpha = 0.2)+
      geom_path() +
      scale_color_manual(values = HNL_colors) +
      scale_fill_manual(values = HNL_colors) +
      labs(title = paste("season:", unique(.x$season)),
           col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
           fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
           y = 'depth (m)',
           x = 'mean Argo temperature (ºC)') +
      scale_y_continuous(
        trans = trans_reverser("sqrt"),
        breaks = c(10, 100, 250, 500, seq(1000, 5000, 500))
      ) +
      facet_grid(basin_AIP ~ biome_name)
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31

Number of profiles season x Mayot biome x basin

profile_temp_count_season <- profile_temp_extreme %>% 
  distinct(season, biome_name, basin_AIP,
           temp_extreme, platform_number, cycle_number) %>% 
  group_by(season, biome_name, basin_AIP, temp_extreme) %>% 
  count(temp_extreme)


profile_temp_count_season %>% 
  group_by(season) %>% 
  group_split(season) %>% 
  map(
    ~ggplot()+
      geom_col(data =.x, 
               aes(x = temp_extreme,
                   y = n,
                   fill = temp_extreme),
               width = 0.5)+
      facet_grid(basin_AIP ~ biome_name)+
      scale_y_continuous(trans = 'log10')+
      labs(y = 'log(number of profiles)',
           title = paste('season:', unique(.x$season)))
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
# rm(profile_temp_count_season)

Surface Argo temperature vs surface OceanSODA temperature (20m) in each season, Mayot biome, basin

# calculate surface-mean argo pH, for each season x biome x basin x ph extreme 
surface_temp_season <- profile_temp_extreme %>% 
  filter(depth <= 20) %>% 
  group_by(season, 
           basin_AIP, 
           biome_name, 
           temp_extreme,  
           platform_number, 
           cycle_number) %>%  
  summarise(surf_argo_temp = mean(temp_adjusted, na.rm=TRUE),
            surf_OceanSODA_temp = mean(OceanSODA_temp, na.rm = TRUE)) 

surface_temp_season %>% 
  group_by(season, temp_extreme) %>% 
  group_split(season, temp_extreme) %>% 
  map(
  ~ggplot(data = .x, aes(x = surf_OceanSODA_temp, 
             y = surf_argo_temp))+
  geom_bin2d(data = .x, aes(x = surf_OceanSODA_temp, 
                 y = surf_argo_temp)) +
  scale_fill_viridis_c()+
  geom_abline(slope = 1, intercept = 0)+
  coord_fixed(ratio = 1, 
              xlim = c(-3, 25),
              ylim = c(-3, 25))+
  facet_grid(basin_AIP ~ biome_name) +
    labs(title = paste('season:', unique(.x$season), 
                        '| temp extreme:', unique(.x$temp_extreme)),
         x = 'OceanSODA temp',
         y = 'Argo temp')
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[5]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[6]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[7]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[8]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[9]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[10]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[11]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05

[[12]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
rm(surface_temp_season)

Atlantic, SPSS biome, winter

profile_temp_extreme_season %>%
  filter(basin_AIP == 'Atlantic',
         biome_name == 'SPSS',
         season == 'winter') %>% 
  arrange(depth) %>%
  ggplot(aes(x = temp_mean,
             y = depth,
             group = temp_extreme,
             col = temp_extreme)) +
  geom_ribbon(aes(xmax = temp_mean + temp_std,
                  xmin = temp_mean - temp_std,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA,
              alpha = 0.2)+
  geom_path() +
  scale_color_manual(values = HNL_colors) +
  scale_fill_manual(values = HNL_colors) +
  labs(title = 'Atlantic basin, SPSS biome, winter',
       col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       y = 'depth (m)',
       x = 'mean Argo temperature (ºC)') +
  scale_y_continuous(
  trans = trans_reverser("sqrt"),
  breaks = c(10, 100, 250, 500, seq(1000, 5000, 500))) 

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
e12a216 pasqualina-vonlanthendinenna 2022-03-15
1ffe07f pasqualina-vonlanthendinenna 2022-03-11
7540ae4 pasqualina-vonlanthendinenna 2022-03-08
e4188d2 pasqualina-vonlanthendinenna 2022-03-01
5ef4df2 pasqualina-vonlanthendinenna 2022-03-01

Atlantic, STSS biome, spring

profile_temp_extreme_season %>%
  filter(basin_AIP == 'Atlantic',
         biome_name == 'STSS',
         season == 'spring') %>% 
  arrange(depth) %>%
  ggplot(aes(x = temp_mean,
             y = depth,
             group = temp_extreme,
             col = temp_extreme)) +
  geom_ribbon(aes(xmax = temp_mean + temp_std,
                  xmin = temp_mean - temp_std,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA,
              alpha = 0.2)+
  geom_path() +
  scale_color_manual(values = HNL_colors) +
  scale_fill_manual(values = HNL_colors) +
  labs(title = 'Atlantic basin, STSS biome, spring',
       col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       y = 'depth (m)',
       x = 'mean Argo temperature (ºC)') +
  scale_y_continuous(
  trans = trans_reverser("sqrt"),
  breaks = c(10, 100, 250, 500, seq(1000, 5000, 500))) 

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
8173cdb jens-daniel-mueller 2022-03-28
650ef68 pasqualina-vonlanthendinenna 2022-03-18
rm(profile_temp_extreme_season)

Mayot biome - basin January mean profiles

profile_temp_extreme_biome_basin_jan <- profile_temp_extreme %>%
  filter(month == 1) %>% 
  group_by(biome_name, basin_AIP, temp_extreme, depth) %>%
  summarise(temp_mean = mean(temp_adjusted, na.rm = TRUE),
            temp_std = sd(temp_adjusted, na.rm = TRUE)) %>%
  ungroup()

profile_temp_extreme_biome_basin_jan %>%
  arrange(depth) %>%
  ggplot(aes(x = temp_mean,
             y = depth)) +
  geom_ribbon(aes(xmin = temp_mean - temp_std,
                  xmax = temp_mean + temp_std,
                  fill = temp_extreme), 
              alpha = 0.2)+
  geom_path(aes(x = temp_mean,
                col = temp_extreme))+
  facet_grid(basin_AIP~biome_name)+
  scale_color_manual(values = HNL_colors) +
  scale_fill_manual(values = HNL_colors)+
  labs(title = "Basin-Mayot biome-mean January profiles",
       col = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       fill = 'OceanSODA\ntemp anomaly \n(mean ± st dev)',
       y = 'depth (m)',
       x = 'mean Argo temperature (ºC)') +
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))

Remove climatology

Plot the H/L/N profiles as anomalies relative to the CSIO-MNR Argo temperature climatology

Argo profiles

profile_temp_extreme_binned <- profile_temp_extreme %>%
  group_by(lon, lat, year, month, platform_cycle,
           biome_name, basin_AIP, temp_extreme,
           depth) %>%
  summarize(temp_adjusted_binned = mean(temp_adjusted, na.rm = TRUE)) %>%
  ungroup()

ARGO climatology

boa_temp_clim <- read_rds(file = paste0(path_argo_preprocessed, '/boa_temp_clim.rds'))

# compatibility with profile_temp_extreme_jan
boa_temp_clim_SO <- boa_temp_clim %>% 
  filter(lat <= -30) %>% 
  mutate(depth_boa = depth)

# grid average climatological temp into the argo depth bins 
boa_temp_clim_SO <- boa_temp_clim_SO %>%
  mutate(
    depth = cut(
      depth_boa,
      breaks = c(0, 10, 20, 30, 50, 70, 100, 300, 500, 800, 1000, 1500, 2000),
      include.lowest = TRUE,
      labels = as.factor(unique(profile_temp_extreme$depth))[1:12]
    ),
    depth = as.numeric(as.character(depth))
  )


# calculate mean climatological pH per depth bin
boa_temp_clim_SO_binned <- boa_temp_clim_SO %>% 
  group_by(lon, lat, depth, month) %>% 
  summarise(clim_temp_binned = mean(clim_temp, na.rm = TRUE)) %>%
  ungroup()


# join climatology and ARGO profiles

remove_clim <- inner_join(profile_temp_extreme_binned,
                              boa_temp_clim_SO_binned)

Profiles - Jan

Points are the January climatological temperature, lines are the depth-binned Argo profiles colored by H/N/L classification

Absolute

remove_clim %>%
  group_split(biome_name, basin_AIP, year) %>%
  head(6) %>%
  map(
    ~ ggplot() +
      geom_path(
        data = .x %>%
          filter(temp_extreme == 'N'),
        aes(
          x = temp_adjusted_binned,
          y = depth,
          group = platform_cycle,
          col = temp_extreme
        ),
        size = 0.3
      ) +
      geom_path(
        data = .x %>%
          filter(temp_extreme == 'H' | temp_extreme == 'L'),
        aes(
          x = temp_adjusted_binned,
          y = depth,
          group = platform_cycle,
          col = temp_extreme
        ),
        size = 0.5
      ) +
      geom_point(
        data = .x,
        aes(x = clim_temp_binned,
            y = depth,
            col = temp_extreme),
        size = 0.5
      ) +
      scale_y_reverse() +
      scale_color_manual(values = HNL_colors) +
      labs(
        x = 'Argo temperature (ºC)',
        y = 'depth (m)',
        title = paste(
          "Biome:",
          unique(.x$biome_name),
          "| basin:",
          unique(.x$basin_AIP),
          " | ",
          unique(.x$year)
        ),
        col = 'OceanSODA temp \nanomaly'
      )
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22

[[5]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22

[[6]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22
# calculate the difference between the binned climatological argo and in-situ argo for each depth level and grid cell 

remove_clim <- remove_clim %>% 
  mutate(argo_temp_anomaly = temp_adjusted_binned - clim_temp_binned,
         season = case_when(between(month, 3, 5) ~ 'autumn',
                            between(month, 6, 8) ~ 'winter',
                            between(month, 9, 11) ~ 'spring',
                            month == 12 | 1 | 2 ~ 'summer'))

Anomaly

remove_clim %>% 
  group_split(month) %>% 
  #head(6) %>% 
  map(
    ~ggplot()+
      geom_path(data = .x %>% filter(temp_extreme == 'N'),
                aes(x = argo_temp_anomaly,
                    y = depth,
                    group = platform_cycle,
                    col = temp_extreme),
                size = 0.2)+
      geom_path(data = .x %>% filter(temp_extreme == 'H'| temp_extreme == 'L'),
                 aes(x = argo_temp_anomaly,
                     y = depth,
                     group = platform_cycle,
                     col = temp_extreme),
                 size = 0.3)+
      geom_vline(xintercept = 0)+
      scale_y_continuous(trans = trans_reverser("sqrt"),
                         breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))+
      scale_color_manual(values = HNL_colors)+
      scale_fill_manual(values = HNL_colors)+
      facet_grid(basin_AIP~biome_name)+
      labs(title = paste0('month: ', unique(.x$month)))
  )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
27a52f8 pasqualina-vonlanthendinenna 2022-03-25

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
27a52f8 pasqualina-vonlanthendinenna 2022-03-25

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
27a52f8 pasqualina-vonlanthendinenna 2022-03-25

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
27a52f8 pasqualina-vonlanthendinenna 2022-03-25

[[5]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
27a52f8 pasqualina-vonlanthendinenna 2022-03-25

[[6]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
27a52f8 pasqualina-vonlanthendinenna 2022-03-25

[[7]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14

[[8]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04

[[9]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04

[[10]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04

[[11]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04

[[12]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04

Overall mean anomaly

remove_clim_overall_mean <- remove_clim %>% 
  group_by(temp_extreme, depth) %>% 
  summarise(temp_anomaly_mean = mean(argo_temp_anomaly, na.rm = TRUE),
            temp_anomaly_sd = sd(argo_temp_anomaly, na.rm = TRUE))

remove_clim_overall_mean %>% 
  ggplot()+
  geom_path(aes(x = temp_anomaly_mean,
                y = depth,
                group = temp_extreme,
                col = temp_extreme))+
  geom_ribbon(aes(xmax = temp_anomaly_mean + temp_anomaly_sd,
                  xmin = temp_anomaly_mean - temp_anomaly_sd,
                  y = depth,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA,
              alpha = 0.2)+
  geom_vline(xintercept = 0)+
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))+
  scale_color_manual(values = HNL_colors)+
  scale_fill_manual(values = HNL_colors)+
  geom_text_repel(data = profile_temp_count_mean,
            aes(x = 1, 
                y = 1500, 
                label = paste0(n), 
                col = temp_extreme),
            size = 7,
            segment.color = 'transparent')+
  labs(title = 'Overall mean anomaly profiles')

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22
rm(remove_clim_overall_mean, profile_temp_count_mean)

Biome x season mean anomaly

remove_clim_biome_mean <- remove_clim %>% 
  group_by(temp_extreme, depth, season, biome_name) %>% 
  summarise(temp_anomaly_mean = mean(argo_temp_anomaly, na.rm = TRUE),
            temp_anomaly_sd = sd(argo_temp_anomaly, na.rm = TRUE))

remove_clim_biome_mean %>% 
  ggplot(aes(x = temp_anomaly_mean,
                y = depth,
                group = temp_extreme,
                col = temp_extreme))+
  geom_path()+
  geom_ribbon(aes(xmax = temp_anomaly_mean + temp_anomaly_sd,
                  xmin = temp_anomaly_mean - temp_anomaly_sd,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA,
              alpha = 0.2)+
  geom_vline(xintercept = 0)+
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))+
  scale_fill_manual(values = HNL_colors)+
  scale_color_manual(values = HNL_colors)+
  labs(title = 'Biome-mean anomaly profiles')+
  geom_text_repel(data = profile_temp_count_biome,
                  aes(x = 3,
                      y = 1500,
                      label = paste0(n),
                      col = temp_extreme),
                  size = 4,
                  segment.color = 'transparent')+
  facet_grid(season~biome_name)

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
6572988 pasqualina-vonlanthendinenna 2022-05-04
708f923 pasqualina-vonlanthendinenna 2022-05-04
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22
rm(remove_clim_biome_mean, profile_temp_count_biome)

Basin x season mean anomaly

remove_clim_basin_mean <- remove_clim %>% 
  group_by(basin_AIP, temp_extreme, depth, season) %>% 
  summarise(temp_anomaly_mean = mean(argo_temp_anomaly, na.rm = TRUE),
            temp_anomaly_sd = sd(argo_temp_anomaly, na.rm = TRUE))

remove_clim_basin_mean %>% 
  ggplot(aes(x = temp_anomaly_mean,
             y = depth, 
             group = temp_extreme,
             col = temp_extreme))+
  geom_path()+
  geom_ribbon(aes(xmax = temp_anomaly_mean + temp_anomaly_sd,
                  xmin = temp_anomaly_mean - temp_anomaly_sd,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA,
              alpha = 0.2)+
  geom_vline(xintercept = 0)+
  facet_grid(season~basin_AIP)+
  scale_y_continuous(trans = trans_reverser("sqrt"),
                     breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))+
  scale_color_manual(values = HNL_colors)+
  scale_fill_manual(values = HNL_colors)+
  geom_text_repel(data = profile_temp_count_basin,
                  aes(x = 2,
                      y = 1500,
                      label = paste0(n),
                      col = temp_extreme),
                  size = 4,
                  segment.color = 'transparent')+
  labs(title = 'Basin-mean anomaly profiles')

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
708f923 pasqualina-vonlanthendinenna 2022-05-04
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28
8173cdb jens-daniel-mueller 2022-03-28
7f5c5c6 pasqualina-vonlanthendinenna 2022-03-25
d9caaae pasqualina-vonlanthendinenna 2022-03-22
rm(remove_clim_basin_mean, profile_temp_count_basin)

Basin x biome x season mean anomaly

remove_clim_basin_biome_mean <- remove_clim %>% 
  group_by(basin_AIP, biome_name, temp_extreme, season, depth) %>% 
  summarise(temp_anomaly_mean = mean(argo_temp_anomaly, na.rm = TRUE),
            temp_anomaly_sd = sd(argo_temp_anomaly, na.rm = TRUE))

remove_clim_basin_biome_mean %>% 
  group_by(season) %>% 
  group_split(season) %>% 
  map(
    ~ggplot(data = .x, 
            aes(x = temp_anomaly_mean,
                y = depth,
                group = temp_extreme,
                col = temp_extreme))+
      geom_path()+
      geom_ribbon(data = .x,
                  aes(xmax = temp_anomaly_mean + temp_anomaly_sd,
                  xmin = temp_anomaly_mean - temp_anomaly_sd,
                  group = temp_extreme,
                  fill = temp_extreme),
              col = NA,
              alpha = 0.2)+
      geom_vline(xintercept = 0)+
      facet_grid(basin_AIP~biome_name)+
      scale_y_continuous(trans = trans_reverser("sqrt"),
                         breaks = c(10, 100, 250, 500, seq(1000, 5000, 500)))+
      scale_color_manual(values = HNL_colors)+
      scale_fill_manual(values = HNL_colors)+
      # geom_text_repel(data = profile_temp_count_season,
      #                 aes(x = 1,
      #                     y = 1400,
      #                     label = paste0(n),
      #                     col = temp_extreme,
      #                     group = temp_extreme),
      #                 size = 4,
      #                 segment.color = 'transparent')+
      labs(title = paste0('biome-basin mean anomaly profiles ', unique(.x$season)))
    )
[[1]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
9875dd0 pasqualina-vonlanthendinenna 2022-04-05
48573c4 pasqualina-vonlanthendinenna 2022-03-31
eb8e3be pasqualina-vonlanthendinenna 2022-03-31
a2271df pasqualina-vonlanthendinenna 2022-03-30
cbb2360 jens-daniel-mueller 2022-03-28
fa1b6de jens-daniel-mueller 2022-03-28
749e005 jens-daniel-mueller 2022-03-28

[[2]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14

[[3]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14

[[4]]

Version Author Date
b917bd0 jens-daniel-mueller 2022-05-11
e61c08e pasqualina-vonlanthendinenna 2022-04-27
f5f6b3f pasqualina-vonlanthendinenna 2022-04-14
rm(remove_clim_basin_biome_mean, profile_temp_count_season)

sessionInfo()
R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: openSUSE Leap 15.3

Matrix products: default
BLAS:   /usr/local/R-4.1.2/lib64/R/lib/libRblas.so
LAPACK: /usr/local/R-4.1.2/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] ggnewscale_0.4.5  ggrepel_0.9.1     oce_1.5-0         gsw_1.0-6        
 [5] ggforce_0.3.3     metR_0.11.0       scico_1.3.0       ggOceanMaps_1.2.6
 [9] ggspatial_1.1.5   broom_0.7.11      lubridate_1.8.0   forcats_0.5.1    
[13] stringr_1.4.0     dplyr_1.0.7       purrr_0.3.4       readr_2.1.1      
[17] tidyr_1.1.4       tibble_3.1.6      ggplot2_3.3.5     tidyverse_1.3.1  
[21] workflowr_1.7.0  

loaded via a namespace (and not attached):
  [1] colorspace_2.0-2    ellipsis_0.3.2      class_7.3-20       
  [4] rgdal_1.5-28        rprojroot_2.0.2     htmlTable_2.4.0    
  [7] base64enc_0.1-3     fs_1.5.2            rstudioapi_0.13    
 [10] proxy_0.4-26        farver_2.1.0        bit64_4.0.5        
 [13] fansi_1.0.2         xml2_1.3.3          splines_4.1.2      
 [16] codetools_0.2-18    knitr_1.37          polyclip_1.10-0    
 [19] Formula_1.2-4       jsonlite_1.7.3      cluster_2.1.2      
 [22] dbplyr_2.1.1        png_0.1-7           rgeos_0.5-9        
 [25] compiler_4.1.2      httr_1.4.2          backports_1.4.1    
 [28] Matrix_1.4-0        assertthat_0.2.1    fastmap_1.1.0      
 [31] cli_3.1.1           later_1.3.0         tweenr_1.0.2       
 [34] htmltools_0.5.2     tools_4.1.2         gtable_0.3.0       
 [37] glue_1.6.0          Rcpp_1.0.8          cellranger_1.1.0   
 [40] jquerylib_0.1.4     raster_3.5-11       vctrs_0.3.8        
 [43] xfun_0.29           ps_1.6.0            rvest_1.0.2        
 [46] lifecycle_1.0.1     terra_1.5-12        getPass_0.2-2      
 [49] MASS_7.3-55         scales_1.1.1        vroom_1.5.7        
 [52] hms_1.1.1           promises_1.2.0.1    parallel_4.1.2     
 [55] RColorBrewer_1.1-2  yaml_2.2.1          gridExtra_2.3      
 [58] sass_0.4.0          rpart_4.1-15        latticeExtra_0.6-29
 [61] stringi_1.7.6       highr_0.9           e1071_1.7-9        
 [64] checkmate_2.0.0     rlang_1.0.2         pkgconfig_2.0.3    
 [67] evaluate_0.14       lattice_0.20-45     sf_1.0-5           
 [70] htmlwidgets_1.5.4   labeling_0.4.2      bit_4.0.4          
 [73] processx_3.5.2      tidyselect_1.1.1    magrittr_2.0.1     
 [76] R6_2.5.1            generics_0.1.1      Hmisc_4.6-0        
 [79] DBI_1.1.2           foreign_0.8-82      pillar_1.6.4       
 [82] haven_2.4.3         whisker_0.4         withr_2.4.3        
 [85] units_0.7-2         nnet_7.3-17         survival_3.2-13    
 [88] sp_1.4-6            modelr_0.1.8        crayon_1.4.2       
 [91] KernSmooth_2.23-20  utf8_1.2.2          tzdb_0.2.0         
 [94] rmarkdown_2.11      jpeg_0.1-9          grid_4.1.2         
 [97] readxl_1.3.1        data.table_1.14.2   callr_3.7.0        
[100] git2r_0.29.0        reprex_2.0.1        digest_0.6.29      
[103] classInt_0.4-3      httpuv_1.6.5        munsell_0.5.0      
[106] viridisLite_0.4.0   bslib_0.3.1