Last updated: 2024-05-28
Checks: 7 0
Knit directory:
heatwave_co2_flux_2023/analysis/
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(20240307)
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 b99b329. 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: data/
Unstaged changes:
Modified: analysis/child/pCO2_product_synopsis.Rmd
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/pco2_product_synopsis_2023.Rmd
) and HTML
(docs/pco2_product_synopsis_2023.html
) files. If you’ve
configured a remote Git repository (see ?wflow_git_remote
),
click on the hyperlinks in the table below to view the files as they
were in that past version.
File | Version | Author | Date | Message |
---|---|---|---|---|
html | b99b329 | jens-daniel-mueller | 2024-05-28 | Build site. |
html | b754e95 | jens-daniel-mueller | 2024-05-28 | Build site. |
html | fbba0a0 | jens-daniel-mueller | 2024-05-28 | Build site. |
html | d533f68 | jens-daniel-mueller | 2024-05-28 | Build site. |
html | 555c1c8 | jens-daniel-mueller | 2024-05-27 | Build site. |
html | 7b6f27c | jens-daniel-mueller | 2024-05-27 | Build site. |
html | 4be90dd | jens-daniel-mueller | 2024-05-27 | Build site. |
html | e1e0ccb | jens-daniel-mueller | 2024-05-27 | Build site. |
html | 7013182 | jens-daniel-mueller | 2024-05-27 | Build site. |
html | 97eff6a | jens-daniel-mueller | 2024-05-25 | Build site. |
html | fe97ed3 | jens-daniel-mueller | 2024-05-25 | Build site. |
html | ac8cc7e | jens-daniel-mueller | 2024-05-24 | Build site. |
html | 12f6571 | jens-daniel-mueller | 2024-05-22 | Build site. |
html | 7868a54 | jens-daniel-mueller | 2024-05-22 | Build site. |
html | 571e2f8 | jens-daniel-mueller | 2024-05-22 | Build site. |
html | 563345f | jens-daniel-mueller | 2024-05-21 | Build site. |
html | 29e0ec4 | jens-daniel-mueller | 2024-05-21 | Build site. |
html | 7c08e1c | jens-daniel-mueller | 2024-05-21 | Build site. |
html | 1eefab2 | jens-daniel-mueller | 2024-05-21 | Build site. |
html | 5af03d1 | jens-daniel-mueller | 2024-05-17 | Build site. |
html | a29d870 | jens-daniel-mueller | 2024-05-16 | Build site. |
html | dbc1fc6 | jens-daniel-mueller | 2024-05-16 | Build site. |
html | aea0b99 | jens-daniel-mueller | 2024-05-16 | Build site. |
html | 3310cf6 | jens-daniel-mueller | 2024-05-16 | Build site. |
html | fcd728c | jens-daniel-mueller | 2024-05-16 | Build site. |
html | 960912c | jens-daniel-mueller | 2024-05-16 | Build site. |
html | b7d0689 | jens-daniel-mueller | 2024-05-15 | Build site. |
html | 00ad9d5 | jens-daniel-mueller | 2024-05-15 | Build site. |
html | 47f8868 | jens-daniel-mueller | 2024-05-15 | Build site. |
html | 589243f | jens-daniel-mueller | 2024-05-15 | Build site. |
html | 1e4c153 | jens-daniel-mueller | 2024-05-14 | Build site. |
html | 009791f | jens-daniel-mueller | 2024-05-14 | Build site. |
html | 8c96de4 | jens-daniel-mueller | 2024-05-08 | Build site. |
html | 3fea035 | jens-daniel-mueller | 2024-05-08 | Build site. |
html | 4b81eaf | jens-daniel-mueller | 2024-05-07 | Build site. |
html | 60abdac | jens-daniel-mueller | 2024-04-23 | Build site. |
html | e44a62b | jens-daniel-mueller | 2024-04-23 | Build site. |
html | 7f9c687 | jens-daniel-mueller | 2024-04-23 | Build site. |
html | 1ff6eb0 | jens-daniel-mueller | 2024-04-22 | Build site. |
html | 9ecd92e | jens-daniel-mueller | 2024-04-22 | Build site. |
html | 231f7cd | jens-daniel-mueller | 2024-04-17 | Build site. |
html | f6e9707 | jens-daniel-mueller | 2024-04-17 | Build site. |
html | ce4e2a6 | jens-daniel-mueller | 2024-04-17 | Build site. |
html | a5911f0 | jens-daniel-mueller | 2024-04-17 | Build site. |
html | 6709afa | jens-daniel-mueller | 2024-04-12 | Build site. |
html | 58e3680 | jens-daniel-mueller | 2024-04-11 | Build site. |
html | 238d229 | jens-daniel-mueller | 2024-04-11 | Build site. |
html | dfcf790 | jens-daniel-mueller | 2024-04-11 | Build site. |
html | 139bc97 | jens-daniel-mueller | 2024-04-11 | manual deletion of files |
html | 2c6f421 | jens-daniel-mueller | 2024-04-11 | Build site. |
html | 37ccea4 | jens-daniel-mueller | 2024-04-08 | Build site. |
html | 19f40c9 | jens-daniel-mueller | 2024-04-05 | Build site. |
Rmd | 2336de2 | jens-daniel-mueller | 2024-04-05 | ensemble mean estimates added |
html | 2793f67 | jens-daniel-mueller | 2024-04-05 | Build site. |
html | 69dc18c | jens-daniel-mueller | 2024-04-04 | Build site. |
html | c9d994c | jens-daniel-mueller | 2024-04-04 | Build site. |
html | 40cb158 | jens-daniel-mueller | 2024-04-03 | Build site. |
html | 7bb6113 | jens-daniel-mueller | 2024-04-03 | Build site. |
Rmd | 7be0147 | jens-daniel-mueller | 2024-04-03 | trend maps included |
html | 27b48a1 | jens-daniel-mueller | 2024-04-03 | Build site. |
html | a83c8fc | jens-daniel-mueller | 2024-04-03 | Build site. |
Rmd | 53c89bd | jens-daniel-mueller | 2024-04-03 | rebuild entire website incl 2022 anomalies |
center <- -160
boundary <- center + 180
target_crs <- paste0("+proj=robin +over +lon_0=", center)
# target_crs <- paste0("+proj=eqearth +over +lon_0=", center)
# target_crs <- paste0("+proj=eqearth +lon_0=", center)
# target_crs <- paste0("+proj=igh_o +lon_0=", center)
worldmap <- ne_countries(scale = 'small',
type = 'map_units',
returnclass = 'sf')
worldmap <- worldmap %>% st_break_antimeridian(lon_0 = center)
worldmap_trans <- st_transform(worldmap, crs = target_crs)
# ggplot() +
# geom_sf(data = worldmap_trans)
coastline <- ne_coastline(scale = 'small', returnclass = "sf")
coastline <- st_break_antimeridian(coastline, lon_0 = 200)
coastline_trans <- st_transform(coastline, crs = target_crs)
# ggplot() +
# geom_sf(data = worldmap_trans, fill = "grey", col="grey") +
# geom_sf(data = coastline_trans)
bbox <- st_bbox(c(xmin = -180, xmax = 180, ymax = 65, ymin = -78), crs = st_crs(4326))
bbox <- st_as_sfc(bbox)
bbox_trans <- st_break_antimeridian(bbox, lon_0 = center)
bbox_graticules <- st_graticule(
x = bbox_trans,
crs = st_crs(bbox_trans),
datum = st_crs(bbox_trans),
lon = c(20, 20.001),
lat = c(-78,65),
ndiscr = 1e3,
margin = 0.001
)
bbox_graticules_trans <- st_transform(bbox_graticules, crs = target_crs)
rm(worldmap, coastline, bbox, bbox_trans)
# ggplot() +
# geom_sf(data = worldmap_trans, fill = "grey", col="grey") +
# geom_sf(data = coastline_trans) +
# geom_sf(data = bbox_graticules_trans)
lat_lim <- ext(bbox_graticules_trans)[c(3,4)]*1.002
lon_lim <- ext(bbox_graticules_trans)[c(1,2)]*1.005
# ggplot() +
# geom_sf(data = worldmap_trans, fill = "grey90", col = "grey90") +
# geom_sf(data = coastline_trans) +
# geom_sf(data = bbox_graticules_trans, linewidth = 1) +
# coord_sf(crs = target_crs,
# ylim = lat_lim,
# xlim = lon_lim,
# expand = FALSE) +
# theme(
# panel.border = element_blank(),
# axis.text = element_blank(),
# axis.ticks = element_blank()
# )
latitude_graticules <- st_graticule(
x = bbox_graticules,
crs = st_crs(bbox_graticules),
datum = st_crs(bbox_graticules),
lon = c(20, 20.001),
lat = c(-60,-30,0,30,60),
ndiscr = 1e3,
margin = 0.001
)
latitude_graticules_trans <- st_transform(latitude_graticules, crs = target_crs)
latitude_labels <- data.frame(lat_label = c("60°N","30°N","Eq.","30°S","60°S"),
lat = c(60,30,0,-30,-60)-4, lon = c(35)-c(0,2,4,2,0))
latitude_labels <- st_as_sf(x = latitude_labels,
coords = c("lon", "lat"),
crs = "+proj=longlat")
latitude_labels_trans <- st_transform(latitude_labels, crs = target_crs)
# ggplot() +
# geom_sf(data = worldmap_trans, fill = "grey", col = "grey") +
# geom_sf(data = coastline_trans) +
# geom_sf(data = bbox_graticules_trans) +
# geom_sf(data = latitude_graticules_trans,
# col = "grey60",
# linewidth = 0.2) +
# geom_sf_text(data = latitude_labels_trans,
# aes(label = lat_label),
# size = 3,
# col = "grey60")
pCO2_product_synopsis <-
knitr::knit_expand(
file = here::here("analysis/child/pCO2_product_synopsis.Rmd"),
year_anom = 2023
)
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_anomaly_map_annual.csv"),
full.names = TRUE)
pco2_product_coarse_annual_regression <-
read_csv(files,
id = "product")
pco2_product_coarse_annual_regression <-
pco2_product_coarse_annual_regression %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_anomaly_map_monthly.csv"),
full.names = TRUE)
pco2_product_coarse_monthly_regression <-
read_csv(files,
id = "product")
pco2_product_coarse_monthly_regression <-
pco2_product_coarse_monthly_regression %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_anomaly_hovmoeller_monthly.csv"),
full.names = TRUE)
pco2_product_hovmoeller_monthly_regression <-
read_csv(files,
id = "product")
pco2_product_hovmoeller_monthly_regression <-
pco2_product_hovmoeller_monthly_regression %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_biome_annual_regression.csv"),
full.names = TRUE)
pco2_product_annual_regression <-
read_csv(files,
id = "product")
pco2_product_annual_regression <-
pco2_product_annual_regression %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_biome_annual_detrended.csv"),
full.names = TRUE)
pco2_product_annual_detrended <-
read_csv(files,
id = "product")
pco2_product_annual_detrended <-
pco2_product_annual_detrended %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_biome_monthly_regression.csv"),
full.names = TRUE)
pco2_product_monthly_regression <-
read_csv(files,
id = "product")
pco2_product_monthly_regression <-
pco2_product_monthly_regression %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_biome_monthly_detrended.csv"),
full.names = TRUE)
pco2_product_monthly_detrended <-
read_csv(files,
id = "product")
pco2_product_monthly_detrended <-
pco2_product_monthly_detrended %>%
mutate(product = str_extract(product, "OceanSODA|SOM_FFN|CMEMS|NRT_fco2residual|ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_profiles_monthly.csv"),
full.names = TRUE)
pco2_product_profiles_monthly <-
read_csv(files,
id = "product")
pco2_product_profiles_monthly <-
pco2_product_profiles_monthly %>%
mutate(product = str_extract(product, "ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_profiles_annual.csv"),
full.names = TRUE)
pco2_product_profiles_annual <-
read_csv(files,
id = "product")
pco2_product_profiles_annual <-
pco2_product_profiles_annual %>%
mutate(product = str_extract(product, "ETHZ_CESM|FESOM-REcoM"))
files <- list.files(here::here("data/"),
pattern = paste0(2023,"_zonal_mean_sections_annual.csv"),
full.names = TRUE)
pco2_product_zonal_mean_sections_annual <-
read_csv(files,
id = "product")
pco2_product_zonal_mean_sections_annual <-
pco2_product_zonal_mean_sections_annual %>%
mutate(product = str_extract(product, "ETHZ_CESM|FESOM-REcoM"))
map <-
read_rds(here::here("data/map.rds"))
key_biomes <-
read_rds(here::here("data/key_biomes.rds"))
super_biomes <-
read_rds(here::here("data/super_biomes.rds"))
biome_mask <-
read_rds(here::here("data/biome_mask.rds"))
biome_mask <-
bind_rows(
biome_mask,
biome_mask %>% mutate(biome = "Global")
)
name_core <- c("fgco2", "fgco2_int", "fgco2_hov",
"sfco2", "atm_fco2", "dfco2",
"kw_sol", "temperature",
"dissic", "talk", "cstar",
"no3", "o2",
"mld", "thetao",
"intpp", "chl")
all_product_list <- c("OceanSODA",
"SOM_FFN",
"NRT_fco2residual",
"CMEMS",
"ETHZ_CESM",
"FESOM-REcoM")
gobm_product_list <- c("ETHZ_CESM",
"FESOM-REcoM")
pco2_product_list <- c("OceanSODA",
"SOM_FFN",
"NRT_fco2residual",
"CMEMS"
)
color_products <- c(
"OceanSODA" = "#672933",
"SOM_FFN" = "#d1495b",
"NRT_fco2residual" = "#edae49",
"CMEMS" = "#AD8E55",
"ETHZ_CESM" = "#66a182",
"FESOM-REcoM" = "#00798c"
)
warm_color <- "#B84A60FF"
cold_color <- "#16877CFF"
# pco2_product_annual_regression %>%
# distinct(product,name) %>%
# print(n=50)
pco2_product_coarse_annual_regression <-
pco2_product_coarse_annual_regression %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_coarse_monthly_regression <-
pco2_product_coarse_monthly_regression %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_hovmoeller_monthly_regression <-
pco2_product_hovmoeller_monthly_regression %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_annual_detrended <- pco2_product_annual_detrended %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_annual_regression <- pco2_product_annual_regression %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_monthly_detrended <- pco2_product_monthly_detrended %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_monthly_regression <-
pco2_product_monthly_regression %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_profiles_monthly <-
pco2_product_profiles_monthly %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_profiles_annual <-
pco2_product_profiles_annual %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
pco2_product_zonal_mean_sections_annual <-
pco2_product_zonal_mean_sections_annual %>%
mutate(
name = factor(name, levels = name_core),
product = factor(product, levels = all_product_list)
) %>%
filter(!is.na(name))
labels_breaks <- function(i_name) {
if (i_name == "dco2") {
i_legend_title <- "ΔpCO<sub>2</sub><br>(µatm)"
}
if (i_name == "dfco2") {
i_legend_title <- "ΔfCO<sub>2</sub><br>(µatm)"
}
if (i_name == "atm_co2") {
i_legend_title <- "pCO<sub>2,atm</sub><br>(µatm)"
}
if (i_name == "atm_fco2") {
i_legend_title <- "fCO<sub>2,atm</sub><br>(µatm)"
}
if (i_name == "sol") {
i_legend_title <- "K<sub>0</sub><br>(mol m<sup>-3</sup> µatm<sup>-1</sup>)"
}
if (i_name == "kw") {
i_legend_title <- "k<sub>w</sub><br>(m yr<sup>-1</sup>)"
}
if (i_name == "kw_sol") {
i_legend_title <- "k<sub>w</sub> K<sub>0</sub><br>(mol yr<sup>-1</sup> m<sup>-2</sup> µatm<sup>-1</sup>)"
}
if (i_name == "spco2") {
i_legend_title <- "pCO<sub>2,ocean</sub><br>(µatm)"
}
if (i_name == "sfco2") {
i_legend_title <- "fCO<sub>2,ocean</sub><br>(µatm)"
}
if (i_name == "intpp") {
i_legend_title <- "NPP<sub>int</sub><br>(mol s<sup>-1</sup> m<sup>-2</sup>)"
}
if (i_name == "no3") {
i_legend_title <- "NO<sub>3</sub><br>(μmol kg<sup>-1</sup>)"
}
if (i_name == "o2") {
i_legend_title <- "O<sub>2</sub><br>(μmol kg<sup>-1</sup>)"
}
if (i_name == "dissic") {
i_legend_title <- "DIC<br>(μmol kg<sup>-1</sup>)"
}
if (i_name == "cstar") {
i_legend_title <- "C*<br>(μmol kg<sup>-1</sup>)"
}
if (i_name == "talk") {
i_legend_title <- "TA<br>(μmol kg<sup>-1</sup>)"
}
if (i_name == "sfco2_total") {
i_legend_title <- "total"
}
if (i_name == "sfco2_therm") {
i_legend_title <- "thermal"
}
if (i_name == "sfco2_nontherm") {
i_legend_title <- "non-thermal"
}
if (i_name == "fgco2") {
i_legend_title <- "FCO<sub>2</sub><br>(mol m<sup>-2</sup> yr<sup>-1</sup>)"
}
if (i_name == "fgco2_hov") {
i_legend_title <- "FCO<sub>2</sub><br>(PgC deg<sup>-1</sup> yr<sup>-1</sup>)"
}
if (i_name == "fgco2_int") {
i_legend_title <- "FCO<sub>2</sub><br>(PgC yr<sup>-1</sup>)"
}
if (i_name == "thetao") {
i_legend_title <- "Temp.<br>(°C)"
}
if (i_name == "temperature") {
i_legend_title <- "SST<br>(°C)"
}
if (i_name == "salinity") {
i_legend_title <- "SSS"
}
if (i_name == "chl") {
i_legend_title <- "lg(Chl-a)<br>(lg(mg m<sup>-3</sup>))"
}
if (i_name == "mld") {
i_legend_title <- "MLD<br>(m)"
}
if (i_name == "press") {
i_legend_title <- "pressure<sub>atm</sub><br>(Pa)"
}
if (i_name == "wind") {
i_legend_title <- "Wind <br>(m sec<sup>-1</sup>)"
}
if (i_name == "SSH") {
i_legend_title <- "SSH <br>(m)"
}
if (i_name == "fice") {
i_legend_title <- "Sea ice <br>(%)"
}
if (i_name == "resid_fgco2") {
i_legend_title <-
"Observed"
}
if (i_name == "resid_fgco2_dfco2") {
i_legend_title <-
"ΔfCO<sub>2</sub>"
}
if (i_name == "resid_fgco2_kw_sol") {
i_legend_title <-
"k<sub>w</sub> K<sub>0</sub>"
}
if (i_name == "resid_fgco2_dfco2_kw_sol") {
i_legend_title <-
"k<sub>w</sub> K<sub>0</sub> X ΔfCO<sub>2</sub>"
}
if (i_name == "resid_fgco2_sum") {
i_legend_title <-
"∑"
}
if (i_name == "resid_fgco2_offset") {
i_legend_title <-
"Obs. - ∑"
}
all_labels_breaks <- lst(i_legend_title)
return(all_labels_breaks)
}
x_axis_labels <-
c(
"dco2" = labels_breaks("dco2")$i_legend_title,
"dfco2" = labels_breaks("dfco2")$i_legend_title,
"atm_co2" = labels_breaks("atm_co2")$i_legend_title,
"atm_fco2" = labels_breaks("atm_fco2")$i_legend_title,
"sol" = labels_breaks("sol")$i_legend_title,
"kw" = labels_breaks("kw")$i_legend_title,
"kw_sol" = labels_breaks("kw_sol")$i_legend_title,
"intpp" = labels_breaks("intpp")$i_legend_title,
"no3" = labels_breaks("no3")$i_legend_title,
"o2" = labels_breaks("o2")$i_legend_title,
"dissic" = labels_breaks("dissic")$i_legend_title,
"cstar" = labels_breaks("cstar")$i_legend_title,
"talk" = labels_breaks("talk")$i_legend_title,
"spco2" = labels_breaks("spco2")$i_legend_title,
"sfco2" = labels_breaks("sfco2")$i_legend_title,
"sfco2_total" = labels_breaks("sfco2_total")$i_legend_title,
"sfco2_therm" = labels_breaks("sfco2_therm")$i_legend_title,
"sfco2_nontherm" = labels_breaks("sfco2_nontherm")$i_legend_title,
"fgco2" = labels_breaks("fgco2")$i_legend_title,
"fgco2_hov" = labels_breaks("fgco2_hov")$i_legend_title,
"fgco2_int" = labels_breaks("fgco2_int")$i_legend_title,
"thetao" = labels_breaks("thetao")$i_legend_title,
"temperature" = labels_breaks("temperature")$i_legend_title,
"salinity" = labels_breaks("salinity")$i_legend_title,
"chl" = labels_breaks("chl")$i_legend_title,
"mld" = labels_breaks("mld")$i_legend_title,
"press" = labels_breaks("press")$i_legend_title,
"wind" = labels_breaks("wind")$i_legend_title,
"SSH" = labels_breaks("SSH")$i_legend_title,
"fice" = labels_breaks("fice")$i_legend_title,
"resid_fgco2" = labels_breaks("resid_fgco2")$i_legend_title,
"resid_fgco2_dfco2" = labels_breaks("resid_fgco2_dfco2")$i_legend_title,
"resid_fgco2_kw_sol" = labels_breaks("resid_fgco2_kw_sol")$i_legend_title,
"resid_fgco2_dfco2_kw_sol" = labels_breaks("resid_fgco2_dfco2_kw_sol")$i_legend_title,
"resid_fgco2_sum" = labels_breaks("resid_fgco2_sum")$i_legend_title,
"resid_fgco2_offset" = labels_breaks("resid_fgco2_offset")$i_legend_title
)
p_season <- function(df,
dim_row = "name",
dim_col = "product",
title = NULL,
var = "resid",
scales = "free_y") {
p <- ggplot(data = df,
aes(month, !!ensym(var)))
if(var == "resid"){
p <- p +
geom_hline(yintercept = 0, linewidth =0.5)
}
p <- p +
geom_path(data = . %>% filter(year != 2023),
aes(group = as.factor(year),
col = as.factor(paste(min(year), max(year), sep = "-"))),
alpha = 0.5) +
geom_path(data = . %>%
filter(year != 2023) %>%
group_by_at(vars(month, dim_col, dim_row)) %>%
summarise(!!ensym(var) := mean(!!ensym(var))),
aes(col = "Climatological\nmean"),
linewidth = 1) +
scale_color_manual(values = c("grey", "black"),
guide = guide_legend(order = 2,
reverse = TRUE)) +
new_scale_color()+
geom_path(data = . %>% filter(year == 2023),
aes(col = as.factor(year)),
linewidth = 1) +
scale_color_manual(
values = warm_color,
guide = guide_legend(order = 1)
) +
scale_x_continuous(breaks = seq(1, 12, 3), expand = c(0, 0)) +
labs(title = title,
x = "Month")
if (!(is.null(dim_col))) {
p <- p +
facet_grid(
as.formula(paste(dim_row, "~", dim_col)),
scales = scales,
labeller = labeller(name = x_axis_labels),
switch = "y"
)
} else {
p <- p +
facet_grid(
as.formula(paste(dim_row, "~ .")),
scales = "free_y",
labeller = labeller(name = x_axis_labels),
switch = "y"
)
}
p <- p +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
p
}
fco2_decomposition <- function(df, ...) {
group_by <- quos(...)
# group_by <- quos(lon, lat, month)
# group_by <- quos(biome, year, month)
pco2_product_biome_monthly_fCO2_decomposition <-
df %>%
filter(name %in% c("temperature", "sfco2"))
pco2_product_biome_monthly_fCO2_decomposition <-
inner_join(
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(name == "temperature") %>%
select(-c(value, fit)) %>%
pivot_wider(values_from = resid),
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(name == "sfco2") %>%
select(-c(value, resid)) %>%
pivot_wider(values_from = fit)
)
pco2_product_biome_monthly_fCO2_decomposition <-
pco2_product_biome_monthly_fCO2_decomposition %>%
mutate(sfco2_therm = (sfco2 * exp(0.0423 * temperature)) - sfco2)
pco2_product_biome_monthly_fCO2_decomposition <-
inner_join(
pco2_product_biome_monthly_fCO2_decomposition,
df %>%
filter(name %in% c("sfco2")) %>%
select(-c(value, fit, name)) %>%
rename(sfco2_total = resid)
)
pco2_product_biome_monthly_fCO2_decomposition <-
pco2_product_biome_monthly_fCO2_decomposition %>%
mutate(sfco2_nontherm = sfco2_total - sfco2_therm)
pco2_product_biome_monthly_fCO2_decomposition <-
pco2_product_biome_monthly_fCO2_decomposition %>%
select(-c(temperature, sfco2)) %>%
pivot_longer(starts_with("sfco2"),
values_to = "resid")
}
flux_attribution <- function(df, ...) {
group_by <- quos(...)
# group_by <- quos(lon, lat, month)
pco2_product_flux_attribution <-
df %>%
filter(name %in% c("dfco2", "kw_sol", "fgco2"))
pco2_product_flux_attribution <-
inner_join(
pco2_product_flux_attribution %>%
select(-c(value, fit)) %>%
pivot_wider(values_from = resid,
names_prefix = "resid_"),
pco2_product_flux_attribution %>%
select(-c(value, resid)) %>%
filter(name != "fgco2") %>%
pivot_wider(values_from = fit)
)
pco2_product_flux_attribution <-
pco2_product_flux_attribution %>%
mutate(
resid_fgco2_dfco2 = resid_dfco2 * kw_sol,
resid_fgco2_kw_sol = resid_kw_sol * dfco2,
resid_fgco2_dfco2_kw_sol = resid_dfco2 * resid_kw_sol
# resid_fgco2_sum = resid_fgco2_dfco2 + resid_fgco2_kw_sol + resid_fgco2_dfco2_kw_sol
)
# pco2_product_flux_attribution <-
# pco2_product_flux_attribution %>%
# mutate(resid_fgco2_offset = resid_fgco2 - resid_fgco2_sum)
pco2_product_flux_attribution <-
pco2_product_flux_attribution %>%
select(product, !!!group_by, starts_with("resid_fgco2")) %>%
pivot_longer(starts_with("resid_"),
values_to = "resid")
pco2_product_flux_attribution <-
pco2_product_flux_attribution %>%
filter(str_detect(name, "dfco2|kw_sol")) %>%
mutate(name = factor(
name,
levels = c(
"resid_fgco2",
"resid_fgco2_dfco2",
"resid_fgco2_kw_sol",
"resid_fgco2_dfco2_kw_sol",
"resid_fgco2_sum",
"resid_fgco2_offset"
)
))
}
The following maps show the anomalies of each variable in 2023 as provided through the pCO2 product. Anomalies are determined based on the predicted value of a linear regression model fit to the available data from 1990 to 2022.
Maps are first presented as annual means, and than as monthly means. Note that the 2023 predictions for the monthly maps are done individually for each month, such the mean seasonal anomaly from the annual mean is removed.
Note: The increase the computational speed, I regridded all maps to 5X5° grid.
bivariate_map <-
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
name %in% c("fgco2", "temperature")) %>%
select(product, name, lon, lat, resid) %>%
pivot_wider(names_from = name,
values_from = resid) %>%
drop_na()
map +
geom_tile(data = bivariate_map,
aes(lon, lat, fill = temperature)) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("temperature"),
oob = squish
) +
facet_wrap( ~ product, ncol = 2) +
theme(legend.title = element_markdown())
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
6709afa | jens-daniel-mueller | 2024-04-12 |
map +
geom_tile(data = bivariate_map,
aes(lon, lat, fill = fgco2)) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("fgco2"),
oob = squish
) +
facet_wrap(~ product, ncol = 2) +
theme(legend.title = element_markdown())
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dim_set <- 4
bivariate_map <-
bi_class(
bivariate_map,
x = temperature,
y = fgco2,
dim = dim_set,
style = "quantile"
)
bi_breaks <-
bi_class_breaks(
bivariate_map,
x = temperature,
y = fgco2,
dim = dim_set,
style = "quantile",
dig_lab = 1
)
map +
geom_tile(data = bivariate_map,
aes(lon, lat, fill = bi_class)) +
bi_scale_fill(pal = "DkViolet2", dim = dim_set) +
theme(legend.position = "none") +
facet_wrap(~ product, ncol = 2)
Version | Author | Date |
---|---|---|
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
6709afa | jens-daniel-mueller | 2024-04-12 |
bi_legend(
pal = "DkViolet2",
xlab = labels_breaks("temperature")$i_legend_title,
ylab = labels_breaks("fgco2")$i_legend_title,
dim = dim_set,
pad_width = 2,
breaks = bi_breaks,
arrows = FALSE
) +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown(),
axis.ticks = element_blank(),
axis.text = element_text(size = 10)
)
# cowplot::plot_grid(
# bi_map, bi_legend,
# rel_heights = c(5, 3),
# ncol = 1
# )
# library(cmocean)
pco2_product_coarse_annual_regression %>%
filter(year == 2023) %>%
group_split(name) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid)) +
labs(title = paste(2023, "anomaly")) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid, .01), quantile(.x$resid, .99)),
oob = squish
) +
theme(legend.title = element_markdown()) +
facet_wrap(~ product, ncol = 2)
)
[[1]]
Version | Author | Date |
---|---|---|
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[2]]
Version | Author | Date |
---|---|---|
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[6]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[7]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[8]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[9]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[10]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[11]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fbba0a0 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
6709afa | jens-daniel-mueller | 2024-04-12 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[12]]
# library(cmocean)
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
product == "ETHZ_CESM") %>%
group_split(name) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid)) +
labs(title = paste(2023, "CESM anomaly")) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid, .01), quantile(.x$resid, .99)),
oob = squish
) +
theme(legend.title = element_markdown())
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
[[6]]
[[7]]
[[8]]
[[9]]
[[10]]
[[11]]
[[12]]
pco2_product_coarse_annual_regression_ensemble <-
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
product %in% pco2_product_list) %>%
group_by(name, lon, lat) %>%
summarize(
resid_sd = sd(resid),
resid_range = max(resid) - min(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n == length(pco2_product_list)) %>%
select(-n)
pco2_product_coarse_annual_regression_ensemble %>%
mutate(product = "Ensemble mean") %>%
group_split(name) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid_mean)) +
geom_point(data = .x %>% filter(abs(resid_mean) < resid_sd),
aes(lon, lat, shape = "Ensemble mean\n< StDev"),
col = "grey", size = 1) +
labs(title = paste(2023, "ensemble mean anomaly")) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
) +
scale_shape_manual(values = 20, name = "") +
theme(legend.title = element_markdown())
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
[[6]]
[[7]]
pco2_product_coarse_annual_regression_ensemble_gobm <-
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
product %in% gobm_product_list) %>%
group_by(name, lon, lat) %>%
summarize(
resid_sd = sd(resid),
resid_range = max(resid) - min(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n == length(gobm_product_list)) %>%
select(-n)
pco2_product_coarse_annual_regression_ensemble_gobm %>%
mutate(product = "Ensemble mean") %>%
group_split(name) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid_mean)) +
geom_point(data = .x %>% filter(abs(resid_mean) < resid_sd),
aes(lon, lat, shape = "Ensemble mean\n< StDev"),
col = "grey", size = 1) +
labs(title = paste(2023, "GOBM ensemble mean anomaly")) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
) +
scale_shape_manual(values = 20, name = "") +
theme(legend.title = element_markdown())
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
[[6]]
[[7]]
[[8]]
[[9]]
[[10]]
[[11]]
[[12]]
pco2_product_coarse_annual_regression_ensemble <-
left_join(
pco2_product_coarse_annual_regression_ensemble,
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
product %in% pco2_product_list)
) %>%
mutate(`Anomaly offset` = resid - resid_mean) %>%
select(name, lon, lat, product, `Anomaly offset`)
pco2_product_coarse_annual_regression_ensemble_baseline <-
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
product %in% pco2_product_list) %>%
group_by(name, lon, lat) %>%
summarize(
fit_mean = mean(fit),
n = n()
) %>%
ungroup() %>%
filter(n == length(pco2_product_list)) %>%
select(-n)
pco2_product_coarse_annual_regression_ensemble_baseline <-
left_join(
pco2_product_coarse_annual_regression_ensemble_baseline,
pco2_product_coarse_annual_regression %>%
filter(year == 2023,
product %in% pco2_product_list)
) %>%
mutate(`Baseline offset` = fit - fit_mean) %>%
select(name, lon, lat, product, `Baseline offset`)
full_join(
pco2_product_coarse_annual_regression_ensemble,
pco2_product_coarse_annual_regression_ensemble_baseline
) %>%
pivot_longer(contains("offset"),
names_to = "offset") %>%
group_split(name) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = value)) +
labs(title = paste(2023, "offset from ensemble mean")) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$value, .01), quantile(.x$value, .99)),
oob = squish
) +
theme(legend.title = element_markdown()) +
facet_grid(product ~ offset)
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
[[6]]
[[7]]
pco2_product_coarse_monthly_regression %>%
filter(name %in% name_core,
year == 2023) %>%
group_split(name) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid)) +
labs(title = paste(2023, "anomaly")) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid, .01), quantile(.x$resid, .99)),
oob = squish
) +
theme(legend.title = element_markdown()) +
facet_grid(month ~ product) +
theme(legend.position = "bottom")
)
[[1]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[6]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[7]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[8]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[9]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[10]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[11]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[12]]
pco2_product_coarse_monthly_fCO2_decomposition <-
fco2_decomposition(pco2_product_coarse_monthly_regression,
year, month, lon, lat)
pco2_product_coarse_monthly_fCO2_decomposition %>%
filter(year == 2023) %>%
group_split(product) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid)) +
labs(title = paste(2023, "thermal vs non-thermal fCO2 anomaly"),
subtitle = .x$product) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("sfco2"),
limits = c(quantile(.x$resid, .01), quantile(.x$resid, .99)),
oob = squish
) +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_grid(
month ~ name,
labeller = labeller(name = x_axis_labels)
)
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
[[6]]
pco2_product_coarse_monthly_fCO2_decomposition %>%
filter(year == 2023,
product %in% pco2_product_list) %>%
group_by(name, lon, lat, month) %>%
summarize(
resid_sd = sd(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n == length(pco2_product_list)) %>%
select(-n) %>%
mutate(product = "Ensemble mean") %>%
group_split(product) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid_mean)) +
geom_point(
data = .x %>% filter(abs(resid_mean) < resid_sd),
aes(lon, lat, shape = "Ensemble mean\n< StDev"),
col = "grey"
) +
labs(title = paste(2023,"thermal vs non-thermal anomaly"),
subtitle = .x$product) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("sfco2"),,
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
) +
scale_shape_manual(values = 46, name = "") +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_grid(
month ~ name,
labeller = labeller(name = x_axis_labels)
)
)
[[1]]
pco2_product_coarse_annual_fCO2_decomposition <-
pco2_product_coarse_monthly_fCO2_decomposition %>%
group_by(product, year, lat, lon, name) %>%
summarise(resid = mean(resid, na.rm = TRUE)) %>%
ungroup()
map +
geom_tile(data = pco2_product_coarse_annual_fCO2_decomposition %>%
filter(year == 2023),
aes(lon, lat, fill = resid)) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("sfco2"),
limits = c(quantile(pco2_product_coarse_annual_fCO2_decomposition$resid, .01),
quantile(pco2_product_coarse_annual_fCO2_decomposition$resid, .99)),
oob = squish
)+
labs(title = paste(2023, "annual mean fCO2 anomaly decomposition")) +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_grid(product ~ name,
labeller = labeller(name = x_axis_labels)) +
theme(strip.text.x.top = element_markdown())
pco2_product_coarse_annual_fCO2_decomposition %>%
filter(product %in% pco2_product_list,
year == 2023) %>%
group_by(name, lon, lat) %>%
summarize(
resid_sd = sd(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n == length(pco2_product_list)) %>%
select(-n) %>%
mutate(product = "Ensemble mean") %>%
group_split(product) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid_mean)) +
geom_point(
data = .x %>% filter(abs(resid_mean) < resid_sd),
aes(lon, lat, shape = "Ensemble mean\n< StDev"),
col = "grey",
size = 1
)+
labs(title = paste(2023, "fCO2 anomaly decomposition"),
subtitle = .x$product) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("sfco2"),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
) +
scale_shape_manual(values = 20, name = "")+
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_wrap(
~ name,
labeller = labeller(name = x_axis_labels),
ncol = 1
) +
theme(strip.text.x.top = element_markdown())
)
[[1]]
pco2_product_coarse_monthly_flux_attribution <-
flux_attribution(pco2_product_coarse_monthly_regression,
year, month, lon, lat)
pco2_product_coarse_monthly_flux_attribution %>%
filter(year == 2023) %>%
drop_na() %>%
group_split(product) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid)) +
labs(title = paste(2023, "monthly flux anomaly decomposition"),
subtitle = .x$product) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("fgco2"),
limits = c(quantile(.x$resid, .01), quantile(.x$resid, .99)),
oob = squish
) +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_grid(
month ~ name,
labeller = labeller(name = x_axis_labels)
) +
theme(
strip.text.x.top = element_markdown()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
[[2]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
[[3]]
[[4]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
[[5]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
[[6]]
pco2_product_coarse_monthly_flux_attribution %>%
filter(year == 2023) %>%
drop_na() %>%
filter(product %in% pco2_product_list) %>%
group_by(name, lon, lat, month) %>%
summarize(
resid_sd = sd(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n == length(pco2_product_list)) %>%
select(-n) %>%
mutate(product = "Ensemble mean") %>%
drop_na() %>%
group_split(product) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid_mean)) +
geom_point(data = .x %>% filter(abs(resid_mean) < resid_sd),
aes(lon, lat, shape = "Ensemble mean\n< StDev"))+
labs(title = paste(2023, "flux anomaly decomposition"),
subtitle = .x$product) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("fgco2"),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
)+
scale_shape_manual(values = 46, name = "") +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_grid(
month ~ name,
labeller = labeller(name = x_axis_labels)
) +
theme(strip.text.x.top = element_markdown())
)
[[1]]
pco2_product_coarse_annual_flux_attribution <-
pco2_product_coarse_monthly_flux_attribution %>%
group_by(product, year, lat, lon, name) %>%
summarise(resid = mean(resid, na.rm = TRUE)) %>%
ungroup()
map +
geom_tile(data = pco2_product_coarse_annual_flux_attribution %>%
filter(year == 2023),
aes(lon, lat, fill = resid)) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("fgco2"),
limits = c(quantile(pco2_product_coarse_annual_flux_attribution$resid, .01, na.rm = TRUE),
quantile(pco2_product_coarse_annual_flux_attribution$resid, .99, na.rm = TRUE)),
oob = squish
)+
labs(title = paste(2023, "annual mean flux anomaly decomposition")) +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_grid(product ~ name,
labeller = labeller(name = x_axis_labels)) +
theme(strip.text.x.top = element_markdown())
pco2_product_coarse_annual_flux_attribution %>%
filter(year == 2023,
product %in% pco2_product_list) %>%
group_by(name, lon, lat) %>%
summarize(
resid_sd = sd(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n == length(pco2_product_list)) %>%
select(-n) %>%
mutate(product = "Ensemble mean") %>%
drop_na() %>%
group_split(product) %>%
# head(1) %>%
map(
~ map +
geom_tile(data = .x,
aes(lon, lat, fill = resid_mean)) +
geom_point(data = .x %>% filter(abs(resid_mean) < resid_sd),
aes(lon, lat, shape = "Ensemble mean\n< StDev"),
col = "grey", size = 1)+
labs(title = paste(2023, "flux anomaly decomposition"),
subtitle = .x$product) +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks("fgco2"),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
)+
scale_shape_manual(values = 20, name = "") +
theme(legend.title = element_markdown(),
legend.position = "bottom") +
facet_wrap(
~ name,
labeller = labeller(name = x_axis_labels),
ncol = 1
) +
theme(strip.text.x.top = element_markdown())
)
[[1]]
The following Hovmoeller plots show the anomalies from the prediction of a linear/quadratic fit to the data from 1990 to 2022.
Hovmoeller plots are presented as monthly means. Note that the predictions for the monthly Hovmoeller plots are done individually for each month, such the mean seasonal anomaly from the annual mean is removed.
pco2_product_hovmoeller_monthly_regression %>%
filter(name %in% name_core) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(decimal, lat, fill = resid)) +
geom_raster() +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid,.01),quantile(.x$resid,.99)),
oob = squish
) +
theme(legend.title = element_markdown()) +
coord_cartesian(expand = 0) +
labs(title = "Monthly mean anomalies",
y = "Latitude") +
theme(axis.title.x = element_blank()) +
facet_wrap(~ product, ncol = 1)
)
[[1]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[6]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[7]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[8]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[9]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[10]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[11]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[12]]
[[13]]
pco2_product_hovmoeller_monthly_regression_ensemble <-
pco2_product_hovmoeller_monthly_regression %>%
group_by(name, decimal, lat) %>%
summarize(
resid_range = max(resid) - min(resid),
resid_mean = mean(resid),
n = n()
) %>%
ungroup() %>%
filter(n > 1)
pco2_product_hovmoeller_monthly_regression_ensemble %>%
mutate(product = "Ensemble mean") %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(decimal, lat, fill = resid_mean)) +
geom_raster() +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
) +
theme(legend.title = element_markdown()) +
coord_cartesian(expand = 0) +
labs(title = "Monthly mean anomalies",
y = "Latitude") +
theme(axis.title.x = element_blank()) +
facet_wrap( ~ product, ncol = 1)
)
[[1]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[2]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
[[3]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
[[6]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
[[7]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
[[8]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
[[9]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
[[10]]
[[11]]
[[12]]
[[13]]
left_join(
pco2_product_hovmoeller_monthly_regression_ensemble,
pco2_product_hovmoeller_monthly_regression
) %>%
mutate(resid_offset = resid - resid_mean) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(decimal, lat, fill = resid_offset)) +
geom_raster() +
scale_fill_gradientn(
colours = cmocean("curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
name = labels_breaks(.x %>% distinct(name)),
limits = c(quantile(.x$resid_mean, .01), quantile(.x$resid_mean, .99)),
oob = squish
) +
theme(legend.title = element_markdown()) +
coord_cartesian(expand = 0)+
labs(title = "Monthly offset from ensemble mean anomalies",
y = "Latitude") +
theme(axis.title.x = element_blank()) +
facet_wrap( ~ product, ncol = 1)
)
[[1]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[2]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[3]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[6]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[7]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
a29d870 | jens-daniel-mueller | 2024-05-16 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[8]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[9]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
960912c | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
37ccea4 | jens-daniel-mueller | 2024-04-08 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[10]]
[[11]]
[[12]]
[[13]]
The following plots show biome-, super biome- or global- averaged/integrated values of each variable as provided through the pCO2 product, represented here as the anomalies from the prediction of a linear/quadratic fit to the data from 1990 to 2022.
Anomalies are presented relative to the predicted annual mean of each year, hence preserving the seasonality.
pco2_product_annual_regression %>%
filter(name %in% c("fgco2", "temperature"),
biome == "Global") %>%
ggplot(aes(year, value, col = product)) +
geom_smooth(data = . %>% filter(year != 2023),
method = "lm",
se = FALSE,
fullrange = TRUE) +
# geom_smooth(data = . %>% filter(year != 2023),
# method = "lm",
# se = FALSE) +
geom_path(linewidth = 0.3) +
geom_point(data = . %>% filter(year == 2023),
shape = 21, fill = "transparent", size = 2, stroke = 1) +
scale_color_manual(values = color_products) +
facet_grid(name ~ .,
scales = "free_y",
labeller = labeller(name = x_axis_labels),
switch = "y") +
theme(
legend.title = element_blank(),
axis.title = element_blank(),
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
legend.position = "top"
)
pco2_product_annual_regression_ensemble <-
pco2_product_annual_regression %>%
filter(product %in% pco2_product_list) %>%
group_by(year, name, biome) %>%
summarise(resid_sd = sd(resid),
resid = mean(resid),
value = mean(value),
fit = mean(fit)) %>%
ungroup()
bind_rows(
pco2_product_annual_regression_ensemble,
pco2_product_annual_regression_ensemble %>%
filter(year == max(year)) %>%
mutate(year = year + 1) %>%
select(-c(resid, resid_sd))
) %>%
filter(name %in% c("fgco2", "temperature"),
biome == "Global") %>%
ggplot() +
geom_path(
data = pco2_product_monthly_regression %>%
filter(product %in% pco2_product_list,
name %in% c("fgco2", "temperature"),
biome == "Global") %>%
group_by(year, month, name, biome) %>%
summarise(value = mean(value)) %>%
ungroup(),
aes(year + month / 12, value),
col = "grey90"
)+
geom_rect(
data = . %>% filter(year != max(year)),
aes(
xmin = year,
xmax = year + 1,
ymin = fit,
ymax = value,
fill = as.factor(sign(-resid))
),
alpha = 0.5
) +
scale_color_manual(values = c("grey40", "grey10"),
name = "Annual mean values") +
scale_fill_manual(
values = c(warm_color, cold_color),
labels = c("positive", "negative"),
name = "Annual mean anomalies"
) +
geom_step(aes(year, fit, col = "Baseline")) +
geom_step(aes(year, value, col = "Observed"))+
geom_errorbar(aes(
x = year + 0.5,
ymin = value - resid_sd,
ymax = value + resid_sd
), width = 0.2, col = "grey10"
) +
scale_x_continuous(limits = c(1989.5,2024.5), expand = c(0,0)) +
facet_grid(
name ~ .,
scales = "free_y",
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
axis.title = element_blank(),
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
legend.position = "top",
legend.direction = "vertical"
)
bind_rows(
pco2_product_annual_regression,
pco2_product_annual_regression %>%
filter(year == max(year)) %>%
mutate(year = year + 1) %>%
select(-c(resid))
) %>%
filter(name %in% c("fgco2", "temperature"),
biome == "Global") %>%
ggplot() +
geom_path(
data = pco2_product_monthly_regression %>%
filter(name %in% c("fgco2", "temperature"),
biome == "Global"),
aes(year + month / 12, value),
col = "grey90"
)+
geom_rect(
data = . %>% filter(year != max(year)),
aes(
xmin = year,
xmax = year + 1,
ymin = fit,
ymax = value,
fill = as.factor(sign(-resid))
),
alpha = 0.5
) +
scale_color_manual(values = c("grey40", "grey10"),
name = "Annual mean values") +
scale_fill_manual(
values = c(warm_color, cold_color),
labels = c("positive", "negative"),
name = "Annual mean anomalies"
) +
geom_step(aes(year, fit, col = "Baseline")) +
geom_step(aes(year, value, col = "Observed")) +
scale_x_continuous(limits = c(1989.5,2024.5), expand = c(0,0),
breaks = c(1990,2010)) +
facet_grid(
name ~ product,
scales = "free_y",
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
axis.title = element_blank(),
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
legend.position = "top",
legend.direction = "vertical"
)
bind_rows(
pco2_product_monthly_regression,
pco2_product_monthly_regression %>%
filter(year == max(year),
month == 12) %>%
mutate(month = month + 1)
) %>%
mutate(year = year + month/12) %>%
filter(name %in% c("fgco2", "temperature"),
product == "OceanSODA",
biome == "Global") %>%
ggplot() +
geom_rect(
data = . %>% filter(year != max(year)),
aes(
xmin = year,
xmax = year + 1/12,
ymin = fit,
ymax = value,
fill = as.factor(sign(-resid))
),
alpha = 0.5
) +
scale_color_manual(values = c("grey10", "grey80"),
name = "Monthly mean values") +
scale_fill_manual(
values = c(warm_color, cold_color),
labels = c("positive", "negative"),
name = "Annual mean anomalies"
) +
geom_step(aes(year, fit, col = "Baseline")) +
# geom_step(aes(year, value, col = "Observed")) +
facet_grid(
name ~ .,
scales = "free_y",
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
coord_cartesian(expand = 0) +
theme(
axis.title = element_blank(),
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
legend.position = "top",
legend.direction = "vertical"
)
pco2_product_annual_regression %>%
filter(year == 2023,
name %in% c("fgco2", "fgco2_int", "dfco2",
"kw_sol", "temperature",
"no3", "mld", "intpp", "chl")) %>%
mutate(region = case_when(biome == "Global" ~ "Global",
biome %in% super_biomes ~ "Super biomes",
TRUE ~ "Biomes"),
region = factor(region, levels = c("Global", "Super biomes", "Biomes"))) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_col(aes(biome, value, fill = product),
position = "dodge2") +
scale_fill_manual(values = color_products) +
geom_col(aes(biome, fit, group = product, col = paste0(2023,"\nlinear\nprediction")),
position = "dodge2",
fill = "transparent") +
labs(y = labels_breaks(unique(.x$name))$i_legend_title,
title = "Absolute") +
scale_color_grey() +
facet_grid(.~region, scales = "free_x", space = "free_x") +
theme(legend.title = element_blank(),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.background = element_blank(),
legend.position = "top")
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[6]]
Version | Author | Date |
---|---|---|
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[8]]
Version | Author | Date |
---|---|---|
7b6f27c | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[9]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
full_join(
pco2_product_annual_regression %>%
filter(year != 2023,
name %in% name_core) %>%
group_by(product, name, biome) %>%
summarise(resid_sd = sd(resid)) %>%
ungroup(),
pco2_product_annual_regression %>%
filter(year == 2023,
name %in% name_core)) %>%
mutate(
region = case_when(
biome == "Global" ~ "Global",
biome %in% super_biomes ~ "Super biomes",
TRUE ~ "Biomes"
),
region = factor(region, levels = c("Global", "Super biomes", "Biomes"))
) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_col(aes(biome, value - fit, fill = product),
position = "dodge2") +
scale_fill_manual(values = color_products) +
geom_col(aes(biome, resid_sd * sign(value - fit),
group = product, col = paste0("Anomaly SD\nexcl.",2023)),
position = "dodge2",
fill = "transparent") +
labs(y = labels_breaks(unique(.x$name))$i_legend_title,
title = "Anomalies") +
scale_color_grey() +
facet_grid(.~region, scales = "free_x", space = "free_x") +
theme(legend.title = element_blank(),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.background = element_blank(),
legend.position = "top")
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[5]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[6]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
60abdac | jens-daniel-mueller | 2024-04-23 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[8]]
Version | Author | Date |
---|---|---|
7b6f27c | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[9]]
Version | Author | Date |
---|---|---|
7b6f27c | jens-daniel-mueller | 2024-05-27 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[10]]
Version | Author | Date |
---|---|---|
7b6f27c | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[11]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
[[12]]
[[13]]
pco2_product_annual_regression_recompute <-
full_join(
pco2_product_annual_regression,
biome_mask %>%
mutate(area = earth_surf(lat, lon)) %>%
group_by(biome) %>%
summarise(area = sum(area)) %>%
ungroup() %>%
filter(biome != "Global")
) %>%
pivot_longer(value:resid,
names_to = "estimate") %>%
pivot_wider()
pco2_product_annual_regression_recompute <-
bind_rows(
# pco2_product_annual_regression %>%
# mutate(region = case_when(biome == "Global" ~ "Global (direct)")) %>%
# filter(!(is.na(region))) %>%
# pivot_longer(value:resid,
# names_to = "estimate") %>%
# pivot_wider(),
pco2_product_annual_regression_recompute %>%
filter(biome != "Global",
!(biome %in% super_biomes)) %>%
select(-biome) %>%
group_by(product, estimate, year) %>%
summarise(across(-c(fgco2_int, area),
~ weighted.mean(., area, na.rm = TRUE)),
across(fgco2_int,
~ sum(., na.rm = TRUE))) %>%
ungroup() %>%
mutate(region = "Global all"),
pco2_product_annual_regression_recompute %>%
filter(biome != "Global",
!str_detect(biome, "SO"),
!(biome %in% super_biomes)) %>%
select(-biome) %>%
group_by(product, estimate, year) %>%
summarise(across(-c(fgco2_int, area),
~ weighted.mean(., area, na.rm = TRUE)),
across(fgco2_int,
~ sum(., na.rm = TRUE))) %>%
ungroup() %>%
mutate(region = "Global excl. SO"),
pco2_product_annual_regression_recompute %>%
filter(str_detect(biome, "NA-|SA-|AEQU")) %>%
select(-biome) %>%
group_by(product, estimate, year) %>%
summarise(across(-c(fgco2_int, area),
~ weighted.mean(., area, na.rm = TRUE)),
across(fgco2_int,
~ sum(., na.rm = TRUE))) %>%
ungroup() %>%
mutate(region = "Global Atlantic"),
pco2_product_annual_regression_recompute %>%
filter(str_detect(biome, "NA")) %>%
select(-biome) %>%
group_by(product, estimate, year) %>%
summarise(across(-c(fgco2_int, area),
~ weighted.mean(., area, na.rm = TRUE)),
across(fgco2_int,
~ sum(., na.rm = TRUE))) %>%
ungroup() %>%
mutate(region = "Global NA only")) %>%
mutate(region = fct_inorder(region)) %>%
pivot_longer(-c(product, year, region, estimate)) %>%
pivot_wider(names_from = estimate)
pco2_product_annual_regression_recompute %>%
filter(year == 2023,
name %in% c("fgco2", "fgco2_int", "dfco2")) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_hline(yintercept = 0) +
geom_col(aes(region, value, fill = product),
position = "dodge2") +
scale_fill_manual(values = color_products) +
geom_col(aes(region, fit, group = product, col = paste0(2023,"\nlinear\nprediction")),
position = "dodge2",
fill = "transparent") +
labs(y = labels_breaks(unique(.x$name))$i_legend_title,
title = "Absolute") +
scale_color_grey() +
facet_grid(.~region, scales = "free_x", space = "free_x") +
theme(legend.title = element_blank(),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.background = element_blank(),
legend.position = "top")
)
[[1]]
[[2]]
[[3]]
full_join(pco2_product_annual_regression_recompute %>%
group_by(product, name, region) %>%
summarise(resid_sd = sd(resid, na.rm = TRUE)) %>%
ungroup(),
pco2_product_annual_regression_recompute %>%
filter(year == 2023)) %>%
filter(name %in% c("fgco2",
"fgco2_int",
"dfco2",
"kw_sol",
"temperature",
"no3",
"mld",
"intpp",
"chl")) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_col(aes(region, resid, fill = product),
position = "dodge2") +
scale_fill_manual(values = color_products) +
geom_col(aes(region, resid_sd * sign(value - fit),
group = product, col = paste0("Anomaly SD\nexcl.",2023)),
position = "dodge2",
fill = "transparent") +
labs(y = labels_breaks(unique(.x$name))$i_legend_title,
title = "Anomaly") +
scale_color_grey() +
facet_grid(. ~ region, scales = "free_x", space = "free_x") +
theme(
legend.title = element_blank(),
axis.text.x = element_text(
angle = 90,
vjust = 0.5,
hjust = 1
),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.background = element_blank(),
legend.position = "top"
)
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
[[6]]
[[7]]
[[8]]
[[9]]
pco2_product_annual_detrended %>%
filter(biome %in% "Global",
name %in% c("fgco2", "temperature"),
product %in% pco2_product_list) %>%
select(-c(time, product)) %>%
group_by(year, month, biome, name) %>%
summarise(across(where(is.numeric), mean)) %>%
ungroup() %>%
# mutate(product = "Ensemble mean") %>%
p_season(title = "Ensemble mean anomalies from predicted annual mean | Global",
dim_col = NULL)
pco2_product_annual_detrended %>%
filter(biome %in% "Global",
name %in% c("fgco2", "temperature")) %>%
p_season(title = "Anomalies from predicted annual mean | Global")
pco2_product_annual_detrended %>%
filter(biome %in% "Global",
name %in% name_core) %>%
p_season(title = "Anomalies from predicted annual mean | Global")
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
pco2_product_annual_detrended %>%
filter(biome %in% super_biomes,
name %in% name_core) %>%
group_split(biome) %>%
# head(1) %>%
map(~ p_season(
df = .x,
title = paste("Anomalies from predicted annual mean |", .x$biome)
))
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
pco2_product_annual_detrended %>%
filter(biome %in% key_biomes,
name %in% name_core) %>%
group_split(biome) %>%
# head(1) %>%
map(~ p_season(
df = .x,
title = paste("Anomalies from predicted annual mean |", .x$biome)
))
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
6709afa | jens-daniel-mueller | 2024-04-12 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
6709afa | jens-daniel-mueller | 2024-04-12 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
6709afa | jens-daniel-mueller | 2024-04-12 |
238d229 | jens-daniel-mueller | 2024-04-11 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
pco2_product_monthly_detrended %>%
filter(biome %in% "Global",
name %in% name_core) %>%
p_season(title = "Anomalies from predicted monthly mean | Global")
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
pco2_product_monthly_detrended %>%
filter(biome %in% super_biomes,
name %in% name_core) %>%
group_split(biome) %>%
# head(1) %>%
map(
~ p_season(df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome))
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
[[3]]
pco2_product_monthly_detrended %>%
filter(biome %in% key_biomes,
name %in% name_core) %>%
group_split(biome) %>%
# head(1) %>%
map(~ p_season(
df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome)
))
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
b754e95 | jens-daniel-mueller | 2024-05-28 |
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
589243f | jens-daniel-mueller | 2024-05-15 |
1e4c153 | jens-daniel-mueller | 2024-05-14 |
009791f | jens-daniel-mueller | 2024-05-14 |
The following plots aim to unravel the correlation between biome-, super-biome- or globally- integrated monthly flux anomalies and the corresponding anomalies of the means/integrals of each other variable.
Anomalies are first presented are first presented in absolute units. Due to the different flux magnitudes, we need to plot the globally and biome-integrated fluxes separately. Secondly, we normalize the anomalies to the monthly spread (expressed as standard deviation) of the anomalies from 1990 to 2021.
pco2_product_annual_regression %>%
filter(biome %in% "Global",
name %in% name_core) %>%
select(-c(value, fit)) %>%
pivot_wider(values_from = resid) %>%
pivot_longer(-c(product, year, biome, fgco2_int)) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(value, fgco2_int)) +
geom_hline(yintercept = 0) +
geom_point(
data = . %>% filter(year != 2023),
aes(fill = year),
shape = 21
) +
geom_smooth(
data = . %>% filter(year != 2023),
method = "lm",
se = FALSE,
fullrange = TRUE,
aes(col = paste("Regression fit\nexcl.", 2023))
) +
scale_color_grey() +
scale_fill_grayC() +
new_scale_fill() +
geom_point(
data = . %>% filter(between(year, 2023-1, 2023)),
aes(fill = as.factor(year)),
shape = 21,
size = 2
) +
scale_fill_manual(
values = c("orange", "red"),
guide = guide_legend(reverse = TRUE,
order = 1)
) +
labs(y = labels_breaks("fgco2_int")$i_legend_title,
x = labels_breaks(unique(.x$name))$i_legend_title) +
facet_wrap(
. ~ product,
scales = "free_y",
ncol = 2
) +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown(),
legend.title = element_blank()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[4]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[5]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[6]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[8]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[9]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[10]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[11]]
[[12]]
pco2_product_annual_regression %>%
filter(biome %in% super_biomes,
name %in% name_core) %>%
select(-c(value, fit)) %>%
pivot_wider(values_from = resid) %>%
pivot_longer(-c(product, year, biome, fgco2_int)) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(value, fgco2_int)) +
geom_hline(yintercept = 0) +
geom_point(
data = . %>% filter(year != 2023),
aes(fill = year),
shape = 21
) +
geom_smooth(
data = . %>% filter(year != 2023),
method = "lm",
se = FALSE,
fullrange = TRUE,
aes(col = paste("Regression fit\nexcl.", 2023))
) +
scale_color_grey() +
scale_fill_grayC() +
new_scale_fill() +
geom_point(
data = . %>% filter(between(year, 2023-1, 2023)),
aes(fill = as.factor(year)),
shape = 21,
size = 2
) +
scale_fill_manual(
values = c("orange", "red"),
guide = guide_legend(reverse = TRUE,
order = 1)
) +
labs(y = labels_breaks("fgco2_int")$i_legend_title,
x = labels_breaks(unique(.x$name))$i_legend_title) +
facet_grid(
biome ~ product,
scales = "free_y"
) +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown(),
legend.title = element_blank()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[4]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[5]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[6]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[8]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[9]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[10]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[11]]
[[12]]
pco2_product_annual_regression %>%
filter(biome %in% key_biomes,
name %in% name_core) %>%
select(-c(value, fit)) %>%
pivot_wider(values_from = resid) %>%
pivot_longer(-c(product, year, biome, fgco2_int)) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(value, fgco2_int)) +
geom_hline(yintercept = 0) +
geom_point(
data = . %>% filter(year != 2023),
aes(fill = year),
shape = 21
) +
geom_smooth(
data = . %>% filter(year != 2023),
method = "lm",
se = FALSE,
fullrange = TRUE,
aes(col = paste("Regression fit\nexcl.", 2023))
) +
scale_color_grey() +
scale_fill_grayC() +
new_scale_fill() +
geom_point(
data = . %>% filter(between(year, 2023-1, 2023)),
aes(fill = as.factor(year)),
shape = 21,
size = 2
) +
scale_fill_manual(
values = c("orange", "red"),
guide = guide_legend(reverse = TRUE,
order = 1)
) +
labs(y = labels_breaks("fgco2_int")$i_legend_title,
x = labels_breaks(unique(.x$name))$i_legend_title) +
facet_grid(
biome ~ product,
scales = "free_y"
) +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown(),
legend.title = element_blank()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[2]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[4]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[5]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[6]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[8]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[9]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[10]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
dfcf790 | jens-daniel-mueller | 2024-04-11 |
d5075c5 | jens-daniel-mueller | 2024-04-11 |
19f40c9 | jens-daniel-mueller | 2024-04-05 |
a83c8fc | jens-daniel-mueller | 2024-04-03 |
[[11]]
[[12]]
pco2_product_monthly_detrended %>%
filter(biome == "Global") %>%
select(-c(time, fit, value)) %>%
pivot_wider(values_from = resid) %>%
pivot_longer(-c(product, year, month, biome, fgco2_int)) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(value, fgco2_int)) +
geom_hline(yintercept = 0) +
geom_point(
data = . %>% filter(year != 2023),
aes(col = paste(min(year), max(year), sep = "-")),
alpha = 0.2
) +
geom_smooth(
data = . %>% filter(year != 2023),
aes(col = paste(min(year), max(year), sep = "-")),
method = "lm",
se = FALSE,
fullrange = TRUE
) +
scale_color_grey(name = "") +
new_scale_color() +
geom_path(data = . %>% filter(year == 2023),
aes(col = as.factor(month), group = 1)) +
geom_point(
data = . %>% filter(year == 2023),
aes(fill = as.factor(month)),
shape = 21,
size = 3
) +
scale_color_scico_d(
palette = "buda",
guide = guide_legend(reverse = TRUE,
order = 1),
name = paste("Month\nof", 2023)
) +
scale_fill_scico_d(
palette = "buda",
guide = guide_legend(reverse = TRUE,
order = 1),
name = paste("Month\nof", 2023)
) +
labs(
y = labels_breaks("fgco2_int")$i_legend_title,
x = labels_breaks(unique(.x$name))$i_legend_title
) +
facet_grid(biome ~ product,
scales = "free_y") +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
58e3680 | jens-daniel-mueller | 2024-04-11 |
[[2]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[4]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[5]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[6]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[8]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[9]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[10]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[11]]
[[12]]
pco2_product_monthly_detrended %>%
filter(biome %in% super_biomes) %>%
select(-c(time, fit, value)) %>%
pivot_wider(values_from = resid) %>%
pivot_longer(-c(product, year, month, biome, fgco2_int)) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(value, fgco2_int)) +
geom_hline(yintercept = 0) +
geom_point(
data = . %>% filter(year != 2023),
aes(col = paste(min(year), max(year), sep = "-")),
alpha = 0.2
) +
geom_smooth(
data = . %>% filter(year != 2023),
aes(col = paste(min(year), max(year), sep = "-")),
method = "lm",
se = FALSE,
fullrange = TRUE
) +
scale_color_grey(name = "") +
new_scale_color() +
geom_path(data = . %>% filter(year == 2023),
aes(col = as.factor(month), group = 1)) +
geom_point(
data = . %>% filter(year == 2023),
aes(fill = as.factor(month)),
shape = 21,
size = 3
) +
scale_color_scico_d(
palette = "buda",
guide = guide_legend(reverse = TRUE,
order = 1),
name = paste("Month\nof", 2023)
) +
scale_fill_scico_d(
palette = "buda",
guide = guide_legend(reverse = TRUE,
order = 1),
name = paste("Month\nof", 2023)
) +
labs(
y = labels_breaks("fgco2_int")$i_legend_title,
x = labels_breaks(unique(.x$name))$i_legend_title
) +
facet_grid(biome ~ product,
scales = "free_y") +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[2]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[4]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[5]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[6]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[8]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[9]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[10]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[11]]
[[12]]
pco2_product_monthly_detrended %>%
filter(biome %in% key_biomes) %>%
select(-c(time, fit, value)) %>%
pivot_wider(values_from = resid) %>%
pivot_longer(-c(product, year, month, biome, fgco2_int)) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x,
aes(value, fgco2_int)) +
geom_hline(yintercept = 0) +
geom_point(
data = . %>% filter(year != 2023),
aes(col = paste(min(year), max(year), sep = "-")),
alpha = 0.2
) +
geom_smooth(
data = . %>% filter(year != 2023),
aes(col = paste(min(year), max(year), sep = "-")),
method = "lm",
se = FALSE,
fullrange = TRUE
) +
scale_color_grey(name = "") +
new_scale_color() +
geom_path(data = . %>% filter(year == 2023),
aes(col = as.factor(month), group = 1)) +
geom_point(
data = . %>% filter(year == 2023),
aes(fill = as.factor(month)),
shape = 21,
size = 3
) +
scale_color_scico_d(
palette = "buda",
guide = guide_legend(reverse = TRUE,
order = 1),
name = paste("Month\nof", 2023)
) +
scale_fill_scico_d(
palette = "buda",
guide = guide_legend(reverse = TRUE,
order = 1),
name = paste("Month\nof", 2023)
) +
labs(
y = labels_breaks("fgco2_int")$i_legend_title,
x = labels_breaks(unique(.x$name))$i_legend_title
) +
facet_grid(biome ~ product,
scales = "free_y") +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[2]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[4]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[5]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
5af03d1 | jens-daniel-mueller | 2024-05-17 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[6]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[7]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[8]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
589243f | jens-daniel-mueller | 2024-05-15 |
009791f | jens-daniel-mueller | 2024-05-14 |
8c96de4 | jens-daniel-mueller | 2024-05-08 |
3fea035 | jens-daniel-mueller | 2024-05-08 |
4b81eaf | jens-daniel-mueller | 2024-05-07 |
60abdac | jens-daniel-mueller | 2024-04-23 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[9]]
Version | Author | Date |
---|---|---|
7013182 | jens-daniel-mueller | 2024-05-27 |
97eff6a | jens-daniel-mueller | 2024-05-25 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[10]]
Version | Author | Date |
---|---|---|
e1e0ccb | jens-daniel-mueller | 2024-05-27 |
7013182 | jens-daniel-mueller | 2024-05-27 |
e44a62b | jens-daniel-mueller | 2024-04-23 |
7f9c687 | jens-daniel-mueller | 2024-04-23 |
1ff6eb0 | jens-daniel-mueller | 2024-04-22 |
9ecd92e | jens-daniel-mueller | 2024-04-22 |
231f7cd | jens-daniel-mueller | 2024-04-17 |
a5911f0 | jens-daniel-mueller | 2024-04-17 |
6709afa | jens-daniel-mueller | 2024-04-12 |
[[11]]
[[12]]
# pco2_product_biome_monthly_fCO2_decomposition <-
# fco2_decomposition(pco2_product_annual_detrended %>%
# select(-c(time)),
# biome, year, month)
pco2_product_biome_monthly_fCO2_decomposition <-
full_join(pco2_product_coarse_monthly_fCO2_decomposition,
biome_mask,
relationship = "many-to-many") %>%
group_by(product, year, month, biome, name) %>%
summarise(resid = mean(resid, na.rm = TRUE)) %>%
ungroup() %>%
drop_na()
pco2_product_biome_annual_fCO2_decomposition <-
pco2_product_biome_monthly_fCO2_decomposition %>%
group_by(product, year, biome, name) %>%
summarise(resid = mean(resid)) %>%
ungroup()
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(biome %in% "Global") %>%
group_split(biome) %>%
# head(1) %>%
map(
~ p_season(df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome))
)
[[1]]
# pco2_product_biome_monthly_fCO2_decomposition %>%
# filter(biome %in% super_biomes) %>%
# group_split(biome) %>%
# # head(1) %>%
# map(
# ~ p_season(df = .x,
# title = paste("Anomalies from predicted monthly mean |", .x$biome))
# )
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(biome %in% key_biomes) %>%
group_split(biome) %>%
# head(1) %>%
map(
~ p_season(df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome))
)
[[1]]
[[2]]
[[3]]
[[4]]
pco2_product_biome_monthly_flux_attribution <-
full_join(pco2_product_coarse_monthly_flux_attribution,
biome_mask,
relationship = "many-to-many") %>%
group_by(product, year, month, biome, name) %>%
summarise(resid = mean(resid, na.rm = TRUE)) %>%
ungroup() %>%
drop_na()
pco2_product_biome_monthly_flux_attribution_total <-
full_join(pco2_product_coarse_monthly_regression %>%
filter(name == "fgco2") %>%
mutate(name = "resid_fgco2"),
biome_mask,
relationship = "many-to-many") %>%
group_by(product, year, month, biome, name) %>%
summarise(resid = mean(resid, na.rm = TRUE)) %>%
ungroup() %>%
drop_na()
pco2_product_biome_monthly_flux_attribution <-
bind_rows(
pco2_product_biome_monthly_flux_attribution,
pco2_product_biome_monthly_flux_attribution_total
)
pco2_product_biome_annual_flux_attribution <-
pco2_product_biome_monthly_flux_attribution %>%
group_by(product, year, biome, name) %>%
summarise(resid = mean(resid)) %>%
ungroup()
ggplot() +
geom_hline(yintercept = 0) +
geom_col(
data = pco2_product_biome_annual_flux_attribution %>%
filter(year == 2023,
biome %in% c("Global", key_biomes),
product %in% pco2_product_list) %>%
group_by(biome, name) %>%
summarise(resid = mean(resid)) %>%
ungroup(),
aes("", resid),
fill = "grey90", col = "grey20"
) +
geom_point(
data = pco2_product_biome_annual_flux_attribution %>%
filter(year == 2023,
biome %in% c("Global", key_biomes)),
aes("", resid, fill = product),
shape = 21
) +
scale_fill_manual(values = color_products) +
scale_y_continuous(breaks = seq(-10,10,0.1)) +
labs(y = labels_breaks(unique("fgco2"))$i_legend_title) +
facet_grid(biome ~ name,
labeller = labeller(name = x_axis_labels),
scales = "free_y",
space = "free_y",
switch = "x") +
theme(
legend.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.text.x.bottom = element_markdown(),
strip.placement = "outside",
strip.background.x = element_blank(),
legend.position = "top"
)
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
563345f | jens-daniel-mueller | 2024-05-21 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
00ad9d5 | jens-daniel-mueller | 2024-05-15 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
ggplot() +
geom_hline(yintercept = 0) +
geom_col(
data = pco2_product_biome_annual_flux_attribution %>%
filter(year == 2023,
biome %in% c("Global", key_biomes)),
aes("", resid, fill = product),
position = position_dodge(width = 1),
alpha = 0.5, col = "grey30"
) +
geom_point(
data = pco2_product_biome_monthly_flux_attribution %>%
filter(year == 2023,
biome %in% c("Global", key_biomes)),
aes("", resid, fill = product),
position = position_dodge(width = 1),
shape = 21, alpha = 0.5, col = "grey30"
) +
scale_fill_manual(values = color_products) +
# scale_color_manual(values = color_products) +
scale_y_continuous(breaks = seq(-10,10,0.2)) +
labs(y = labels_breaks(unique("fgco2"))$i_legend_title) +
facet_grid(biome ~ name,
labeller = labeller(name = x_axis_labels),
scales = "free_y",
space = "free_y",
switch = "x") +
theme(
legend.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.text.x.bottom = element_markdown(),
strip.placement = "outside",
strip.background.x = element_blank(),
legend.position = "top"
)
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
563345f | jens-daniel-mueller | 2024-05-21 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
00ad9d5 | jens-daniel-mueller | 2024-05-15 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
pco2_product_biome_monthly_flux_attribution %>%
filter(year == 2023,
biome %in% c("Global", key_biomes)) %>%
ggplot() +
geom_hline(yintercept = 0) +
geom_path(
aes(month, resid, col = product)
) +
geom_point(
aes(month, resid, fill = product),
shape = 21,
alpha = 0.5,
col = "grey30"
) +
scale_fill_manual(values = color_products) +
scale_color_manual(values = color_products) +
scale_y_continuous(breaks = seq(-10,10,0.2)) +
scale_x_continuous(position = "top", breaks = seq(1,12,3)) +
labs(y = labels_breaks(unique("fgco2"))$i_legend_title) +
facet_grid(biome ~ name,
labeller = labeller(name = x_axis_labels),
scales = "free_y",
space = "free_y",
switch = "x") +
theme(
legend.title = element_blank(),
axis.title.y = element_markdown(),
strip.text.x.bottom = element_markdown(),
strip.placement = "outside",
strip.background.x = element_blank(),
legend.position = "top"
)
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7013182 | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
571e2f8 | jens-daniel-mueller | 2024-05-22 |
563345f | jens-daniel-mueller | 2024-05-21 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
00ad9d5 | jens-daniel-mueller | 2024-05-15 |
47f8868 | jens-daniel-mueller | 2024-05-15 |
pco2_product_biome_monthly_flux_attribution %>%
filter(biome %in% "Global") %>%
group_split(biome) %>%
map(
~ p_season(
df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome)
) +
facet_grid(
name ~ product,
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
)
[[1]]
Version | Author | Date |
---|---|---|
b754e95 | jens-daniel-mueller | 2024-05-28 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
pco2_product_biome_monthly_flux_attribution %>%
filter(biome %in% super_biomes) %>%
group_split(biome) %>%
# head(1) %>%
map(
~ p_season(
df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome)
) +
facet_grid(
name ~ product,
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
)
list()
pco2_product_biome_monthly_flux_attribution %>%
filter(biome %in% key_biomes) %>%
group_split(biome) %>%
# head(1) %>%
map(
~ p_season(
df = .x,
title = paste("Anomalies from predicted monthly mean |", .x$biome)
) +
facet_grid(
name ~ product,
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
)
[[1]]
[[2]]
[[3]]
[[4]]
pco2_product_biome_annual_flux_attribution <-
full_join(
pco2_product_biome_annual_flux_attribution %>%
filter(year == 2023) %>%
select(-year),
pco2_product_biome_annual_flux_attribution %>%
filter(year != 2023) %>%
group_by(product, biome, name) %>%
summarise(resid_mean = mean(abs(resid))) %>%
ungroup())
pco2_product_biome_annual_flux_attribution %>%
filter(biome %in% "Global") %>%
group_split(biome) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_col(aes("x", resid, fill = product),
position = "dodge2") +
scale_fill_manual(values = color_products) +
geom_col(
aes(
"x",
resid_mean * sign(resid),
group = product,
col = paste0("Mean\nexcl.",2023)
),
position = "dodge2",
fill = "transparent"
) +
labs(y = labels_breaks(unique("fgco2"))$i_legend_title,
title = .x$biome) +
facet_grid(
.~name,
labeller = labeller(name = x_axis_labels),
switch = "x"
) +
scale_color_grey() +
theme(
legend.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.text.x.bottom = element_markdown(),
strip.placement = "outside",
strip.background.x = element_blank(),
legend.position = "top"
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
fe97ed3 | jens-daniel-mueller | 2024-05-25 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
pco2_product_biome_annual_flux_attribution %>%
filter(biome %in% key_biomes) %>%
group_split(biome) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_col(aes("x", resid, fill = product),
position = "dodge2") +
scale_fill_manual(values = color_products) +
geom_col(
aes(
"x",
resid_mean * sign(resid),
group = product,
col = paste0("Mean\nexcl.",2023)
),
position = "dodge2",
fill = "transparent"
) +
labs(y = labels_breaks(unique("fgco2"))$i_legend_title,
title = .x$biome) +
facet_grid(
.~name,
labeller = labeller(name = x_axis_labels),
switch = "x"
) +
scale_color_grey() +
theme(
legend.title = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_markdown(),
strip.text.x.bottom = element_markdown(),
strip.placement = "outside",
strip.background.x = element_blank(),
legend.position = "top"
)
)
[[1]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
[[2]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
[[3]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
[[4]]
Version | Author | Date |
---|---|---|
b99b329 | jens-daniel-mueller | 2024-05-28 |
7b6f27c | jens-daniel-mueller | 2024-05-27 |
29e0ec4 | jens-daniel-mueller | 2024-05-21 |
7c08e1c | jens-daniel-mueller | 2024-05-21 |
dbc1fc6 | jens-daniel-mueller | 2024-05-16 |
aea0b99 | jens-daniel-mueller | 2024-05-16 |
3310cf6 | jens-daniel-mueller | 2024-05-16 |
b7d0689 | jens-daniel-mueller | 2024-05-15 |
key_biomes <- key_biomes[!str_detect(key_biomes, "NP")]
pco2_product_monthly_detrended %>%
filter(product == "OceanSODA",
name %in% c("temperature", "fgco2"),
biome %in% key_biomes) %>%
p_season(dim_col = "biome",
title = "Anomalies from predicted monthly mean")
pco2_product_biome_monthly_flux_attribution %>%
filter(
product == "OceanSODA",
name %in% c("resid_fgco2_dfco2", "resid_fgco2_kw_sol"),
biome %in% key_biomes
) %>%
p_season(dim_col = "biome",
title = "Main drivers of flux anomaly",
scales = "fixed")
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(product == "OceanSODA",
name %in% c("sfco2_nontherm", "sfco2_therm"),
biome %in% key_biomes) %>%
p_season(dim_col = "biome",
title = "Decomposition of fCO2 anomaly",
scales = "fixed")
pco2_product_monthly_detrended %>%
filter(product %in% pco2_product_list) %>%
group_by(year, month, biome, name) %>%
summarise(across(where(is.numeric), mean)) %>%
ungroup() %>%
filter(name %in% c("temperature", "fgco2"),
biome %in% key_biomes) %>%
p_season(dim_col = "biome",
title = "Ensemble mean anomalies from predicted monthly mean")
pco2_product_biome_monthly_flux_attribution %>%
filter(product %in% pco2_product_list) %>%
group_by(year, month, biome, name) %>%
summarise(across(where(is.numeric), mean)) %>%
ungroup() %>%
filter(name %in% c("resid_fgco2_dfco2", "resid_fgco2_kw_sol"),
biome %in% key_biomes) %>%
p_season(dim_col = "biome",
title = "Ensemble mean drivers of flux anomaly",
scales = "fixed")
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(product %in% pco2_product_list) %>%
group_by(year, month, biome, name) %>%
summarise(across(where(is.numeric), mean)) %>%
ungroup() %>%
filter(name %in% c("sfco2_nontherm", "sfco2_therm"),
biome %in% key_biomes) %>%
p_season(dim_col = "biome",
title = "Ensemble mean decomposition of fCO2 anomaly",
scales = "fixed")
pco2_product_monthly_detrended %>%
filter(year == 2023,
name %in% c("temperature", "fgco2"),
biome %in% key_biomes) %>%
ggplot(aes(month, resid)) +
geom_hline(yintercept = 0, linewidth = 0.5) +
geom_path(aes(col = product)) +
scale_color_manual(values = color_products) +
scale_x_continuous(breaks = seq(1, 12, 3), expand = c(0, 0)) +
labs(x = "Month",
title = "Anomalies from predicted monthly mean") +
facet_grid(
name ~ biome,
scales = "free_y",
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
pco2_product_biome_monthly_flux_attribution %>%
filter(year == 2023,
name %in% c("resid_fgco2_dfco2", "resid_fgco2_kw_sol"),
biome %in% key_biomes) %>%
ggplot(aes(month, resid)) +
geom_hline(yintercept = 0, linewidth = 0.5) +
geom_path(aes(col = product)) +
scale_color_manual(values = color_products) +
scale_x_continuous(breaks = seq(1, 12, 3), expand = c(0, 0)) +
labs(x = "Month",
title = "Main drivers of flux anomaly") +
facet_grid(
name ~ biome,
scales = "fixed",
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
pco2_product_biome_monthly_fCO2_decomposition %>%
filter(year == 2023,
name %in% c("sfco2_nontherm", "sfco2_therm"),
biome %in% key_biomes) %>%
ggplot(aes(month, resid)) +
geom_hline(yintercept = 0, linewidth = 0.5) +
geom_path(aes(col = product)) +
scale_color_manual(values = color_products) +
scale_x_continuous(breaks = seq(1, 12, 3), expand = c(0, 0)) +
labs(x = "Month",
title = "Decomposition of fCO2 anomaly") +
facet_grid(
name ~ biome,
scales = "fixed",
labeller = labeller(name = x_axis_labels),
switch = "y"
) +
theme(
strip.text.y.left = element_markdown(),
strip.placement = "outside",
strip.background.y = element_blank(),
axis.title.y = element_blank(),
legend.title = element_blank()
)
The following analysis is available for GOBMs only.
pco2_product_zonal_mean_sections_annual %>%
filter(year == 2023,
region != "Southern") %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_contour_filled(aes(lat, depth, z = resid)) +
scale_fill_gradientn(colours = cmocean(name = "curl")(100),
rescaler = ~ scales::rescale_mid(.x, mid = 0),
super = ScaleDiscretised,
name = labels_breaks(.x %>% distinct(name))$i_legend_title) +
# scale_fill_distiller(type = "div",
# palette = "RdBu",
# rescaler = ~ scales::rescale_mid(.x, mid = 0),
# super = ScaleDiscretised,
# name = labels_breaks(.x %>% distinct(name))$i_legend_title) +
scale_y_continuous(trans = trans_reverser("sqrt"),
breaks = c(50, 100, 200, 400)) +
scale_x_continuous(breaks = seq(-100, 100, 20)) +
coord_cartesian(expand = 0) +
facet_grid(region ~ product) +
labs(y = "Depth (m)", x = "Latitude (°N)") +
guides(
fill = guide_colorsteps(
barheight = unit(0.3, "cm"),
barwidth = unit(6, "cm"),
ticks = TRUE,
ticks.colour = "grey20",
frame.colour = "grey20",
label.position = "top",
direction = "horizontal"
)
) +
theme(
legend.position = "top",
legend.title.align = 1,
legend.box.spacing = unit(0.1, "cm"),
legend.title = element_markdown(halign = 1,
lineheight = 1.5)
)
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
The following analysis is available for GOBMs only.
pco2_product_profiles_annual %>%
filter(biome %in% key_biomes) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_vline(xintercept = 0) +
geom_path(aes(resid, depth, group = year), col = "grey30", alpha = 0.3) +
geom_path(data = .x %>% filter(year == 2023),
aes(resid, depth, col = as.factor(year)),
linewidth = 1) +
scale_color_brewer(palette = "Set1") +
scale_y_continuous(trans = trans_reverser("sqrt"),
breaks = c(50,100,200,400)) +
coord_cartesian(expand = 0) +
facet_grid2(biome ~ product,
scales = "free_x", independent = "x") +
labs(y = "Depth (m)",
x = labels_breaks(.x %>% distinct(name))$i_legend_title) +
theme(legend.title = element_blank(),
axis.title.x = element_markdown())
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
pco2_product_profiles_monthly %>%
filter(year == 2023,
biome %in% key_biomes) %>%
group_split(name) %>%
# head(1) %>%
map(
~ ggplot(data = .x) +
geom_vline(xintercept = 0) +
geom_path(aes(resid, depth, col = as.factor(month)),
linewidth = 1) +
scale_color_viridis_d(option = "magma", end = .8) +
scale_y_continuous(trans = trans_reverser("sqrt"),
breaks = c(50,100,200,400)) +
coord_cartesian(expand = 0) +
facet_grid2(biome ~ product,
scales = "free_x", independent = "x") +
labs(y = "Depth (m)",
x = labels_breaks(.x %>% distinct(name))$i_legend_title) +
theme(legend.title = element_blank(),
axis.title.x = element_markdown())
)
[[1]]
[[2]]
[[3]]
[[4]]
[[5]]
pco2_product_profiles_monthly %>%
filter(year == 2023,
biome %in% key_biomes,
product == "ETHZ_CESM",
name != "cstar") %>%
ggplot() +
geom_vline(xintercept = 0) +
geom_path(aes(resid, depth, col = as.factor(month)),
linewidth = 1) +
scale_color_viridis_d(option = "magma", end = .8,
name = paste("Month of\n", 2023)) +
scale_y_continuous(trans = trans_reverser("sqrt"),
breaks = c(50, 100, 200, 400)) +
coord_cartesian(expand = 0) +
facet_grid2(
biome ~ name,
scales = "free_x",
independent = "x",
labeller = labeller(name = x_axis_labels),
switch = "x"
) +
theme(
strip.text.x.bottom = element_markdown(),
strip.placement = "outside",
strip.background.x = element_blank(),
axis.title.x = element_blank(),
legend.title = element_blank()
) +
labs(y = "Depth (m)")
sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: openSUSE Leap 15.5
Matrix products: default
BLAS: /usr/local/R-4.2.2/lib64/R/lib/libRblas.so
LAPACK: /usr/local/R-4.2.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] cmocean_0.3-1 ggh4x_0.2.3 scales_1.2.1
[4] biscale_1.0.0 ggtext_0.1.2 khroma_1.9.0
[7] ggnewscale_0.4.8 terra_1.7-65 sf_1.0-9
[10] rnaturalearth_0.1.0 geomtextpath_0.1.1 colorspace_2.0-3
[13] marelac_2.1.10 shape_1.4.6 ggforce_0.4.1
[16] metR_0.13.0 scico_1.3.1 patchwork_1.1.2
[19] collapse_1.8.9 forcats_0.5.2 stringr_1.5.0
[22] dplyr_1.1.3 purrr_1.0.2 readr_2.1.3
[25] tidyr_1.3.0 tibble_3.2.1 ggplot2_3.4.4
[28] tidyverse_1.3.2 workflowr_1.7.0
loaded via a namespace (and not attached):
[1] googledrive_2.0.0 ellipsis_0.3.2 class_7.3-20
[4] rprojroot_2.0.3 markdown_1.4 fs_1.5.2
[7] gridtext_0.1.5 rstudioapi_0.15.0 proxy_0.4-27
[10] farver_2.1.1 bit64_4.0.5 fansi_1.0.3
[13] lubridate_1.9.0 xml2_1.3.3 splines_4.2.2
[16] codetools_0.2-18 cachem_1.0.6 knitr_1.41
[19] polyclip_1.10-4 jsonlite_1.8.3 gsw_1.1-1
[22] broom_1.0.5 dbplyr_2.2.1 compiler_4.2.2
[25] httr_1.4.4 backports_1.4.1 Matrix_1.5-3
[28] assertthat_0.2.1 fastmap_1.1.0 gargle_1.2.1
[31] cli_3.6.1 later_1.3.0 tweenr_2.0.2
[34] htmltools_0.5.3 tools_4.2.2 rnaturalearthdata_0.1.0
[37] gtable_0.3.1 glue_1.6.2 Rcpp_1.0.11
[40] cellranger_1.1.0 jquerylib_0.1.4 vctrs_0.6.4
[43] nlme_3.1-160 xfun_0.35 ps_1.7.2
[46] rvest_1.0.3 timechange_0.1.1 lifecycle_1.0.3
[49] googlesheets4_1.0.1 oce_1.7-10 getPass_0.2-2
[52] MASS_7.3-58.1 vroom_1.6.0 hms_1.1.2
[55] promises_1.2.0.1 parallel_4.2.2 RColorBrewer_1.1-3
[58] yaml_2.3.6 memoise_2.0.1 sass_0.4.4
[61] stringi_1.7.8 highr_0.9 e1071_1.7-12
[64] checkmate_2.1.0 commonmark_1.8.1 rlang_1.1.1
[67] pkgconfig_2.0.3 systemfonts_1.0.4 evaluate_0.18
[70] lattice_0.20-45 SolveSAPHE_2.1.0 labeling_0.4.2
[73] bit_4.0.5 processx_3.8.0 tidyselect_1.2.0
[76] here_1.0.1 seacarb_3.3.1 magrittr_2.0.3
[79] R6_2.5.1 generics_0.1.3 DBI_1.1.3
[82] mgcv_1.8-41 pillar_1.9.0 haven_2.5.1
[85] whisker_0.4 withr_2.5.0 units_0.8-0
[88] sp_1.5-1 modelr_0.1.10 crayon_1.5.2
[91] KernSmooth_2.23-20 utf8_1.2.2 tzdb_0.3.0
[94] rmarkdown_2.18 isoband_0.2.6 grid_4.2.2
[97] readxl_1.4.1 data.table_1.14.6 callr_3.7.3
[100] git2r_0.30.1 reprex_2.0.2 digest_0.6.30
[103] classInt_0.4-8 httpuv_1.6.6 textshaping_0.3.6
[106] munsell_0.5.0 viridisLite_0.4.1 bslib_0.4.1