-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplot_seasonal_clusters.R
More file actions
170 lines (125 loc) · 15.8 KB
/
plot_seasonal_clusters.R
File metadata and controls
170 lines (125 loc) · 15.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
###### Seasonal plot ###########
load("./Ship+Argo_clusters.RData")
source("./SRC/CH4BioOpticSCM/spatial_plot.R")
# BGCArgoResults_PCAf$KC_sharp = ks1$cluster
# BGCArgoResults_PCAf$KCsharp_named = factor(BGCArgoResults_PCAf$KC_sharp, labels = c("Noise","SCM","HSC","HM","DE"))
devtools::install_github("KimBaldry/SOmap",force = TRUE)
library(SOmap)
library(dplyr)
library(gridExtra)
library(ggpmisc)
br_colours = c(rgb(140,81,10,maxColorValue = 255),rgb(216,179,101,maxColorValue = 255),rgb(240,232,195,maxColorValue = 255),rgb(199,234,229,maxColorValue = 255),rgb(90,180,172,maxColorValue = 255),rgb(1,102,94,maxColorValue = 255),"lightgrey")
br_colours2 = c("lightgrey",rgb(140,81,10,maxColorValue = 255),rgb(216,179,101,maxColorValue = 255),rgb(240,232,195,maxColorValue = 255),rgb(199,234,229,maxColorValue = 255),rgb(90,180,172,maxColorValue = 255),rgb(1,102,94,maxColorValue = 255))
BGCArgoResults_PCAf$Seas[BGCArgoResults_PCAf$MM %in% c(12,1:2)] = 1
BGCArgoResults_PCAf$Seas[BGCArgoResults_PCAf$MM %in% c(3:5)] = 2
BGCArgoResults_PCAf$Seas[BGCArgoResults_PCAf$MM %in% c(6:8)] = 3
BGCArgoResults_PCAf$Seas[BGCArgoResults_PCAf$MM %in% c(9:11)] = 4
results_allf$Seas[results_allf$MM %in% c(12,1:2)] = 1
results_allf$Seas[results_allf$MM %in% c(3:5)] = 2
results_allf$Seas[results_allf$MM %in% c(6:8)] = 3
results_allf$Seas[results_allf$MM %in% c(9:11)] = 4
results_fluorf$Seas[results_fluorf$MM %in% c(12,1:2)] = 1
results_fluorf$Seas[results_fluorf$MM %in% c(3:5)] = 2
results_fluorf$Seas[results_fluorf$MM %in% c(6:8)] = 3
results_fluorf$Seas[results_fluorf$MM %in% c(9:11)] = 4
## Spatial distribution of clusters
argo_clust_dens_SFM = spatial_plot(lat = BGCArgoResults_PCAf$LAT, lon = BGCArgoResults_PCAf$LON, rast_vals = BGCArgoResults_PCAf$KC_named == "SFM", fac1 = factor(BGCArgoResults_PCAf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = NA,res_scale = 1.75, legend = F) + facet_grid(.~fac1) + ggtitle("SFM")
argo_clust_dens_HSC = spatial_plot(lat = BGCArgoResults_PCAf$LAT, lon = BGCArgoResults_PCAf$LON, rast_vals = BGCArgoResults_PCAf$KC_named == "HSF", fac1 = factor(BGCArgoResults_PCAf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = NA,res_scale = 1.75, legend = F) + facet_grid(.~fac1) + ggtitle("HSF")
argo_clust_dens_DE = spatial_plot(lat = BGCArgoResults_PCAf$LAT, lon = BGCArgoResults_PCAf$LON, rast_vals = BGCArgoResults_PCAf$KC_named == "DM", fac1 = factor(BGCArgoResults_PCAf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab =NA,res_scale = 1.75, legend = F) + facet_grid(.~fac1)+ ggtitle("DM")
argo_clust_dens_HM = spatial_plot(lat = BGCArgoResults_PCAf$LAT, lon = BGCArgoResults_PCAf$LON, rast_vals = BGCArgoResults_PCAf$KC_named == "HM", fac1 = factor(BGCArgoResults_PCAf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = NA,res_scale = 1.75, legend = F) + facet_grid(.~fac1) + ggtitle("HM")
pdf(paste("./plots/CH4/Seas_dist_supp.pdf"),width = 9, height = 14)
grid.arrange(argo_clust_dens_SFM, argo_clust_dens_HM, argo_clust_dens_HSC, argo_clust_dens_DE, ncol = 1)
dev.off()
BGCArgoResults_PCAfbb = BGCArgoResults_PCAf %>% filter(!is.na(KC_bbp))
#argo_clust_dens_SFM = spatial_plot(lat = BGCArgoResults_PCAf$LAT, lon = BGCArgoResults_PCAf$LON, rast_vals = BGCArgoResults_PCAf$KC_named == "SCM", fac1 = factor(BGCArgoResults_PCAf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1) + ggtitle("SCM")
argo_clust_dens_1 = spatial_plot(lat = BGCArgoResults_PCAfbb$LAT, lon = BGCArgoResults_PCAfbb$LON, rast_vals = BGCArgoResults_PCAfbb$KC_bbp == 1, fac1 = factor(BGCArgoResults_PCAfbb$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1) + ggtitle("Type 1 SCM/SBM")
argo_clust_dens_2 = spatial_plot(lat = BGCArgoResults_PCAfbb$LAT, lon = BGCArgoResults_PCAfbb$LON, rast_vals = BGCArgoResults_PCAfbb$KC_bbp == 2, fac1 = factor(BGCArgoResults_PCAfbb$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1)+ ggtitle("Type 2 SCM/SBM")
argo_clust_dens_3 = spatial_plot(lat = BGCArgoResults_PCAfbb$LAT, lon = BGCArgoResults_PCAfbb$LON, rast_vals = BGCArgoResults_PCAfbb$KC_bbp == 3, fac1 = factor(BGCArgoResults_PCAfbb$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1) + ggtitle("Type 3 SCM/SBM")
pdf(paste("./plots/CH4/Seas_dist.pdf"),width = 9, height = 14)
grid.arrange(argo_clust_dens_SFM, argo_clust_dens_1, argo_clust_dens_2, argo_clust_dens_3, ncol = 1)
dev.off()
SFM_only = BGCArgoResults_PCA_final %>% filter(KC_named == "SCM", !is.na(KC_bbp), MM %in% c(1:4,10:12))
argo_clust_dens_1 = spatial_plot(lat = SFM_only$LAT, lon = SFM_only$LON, rast_vals = SFM_only$plot_fact == "Shallow", fac1 = factor(SFM_only$MM_p,labels = c("Oct","Nov","Dec","Jan","Feb","Mar","Apr")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1) + ggtitle("Shallow")
argo_clust_dens_2 = spatial_plot(lat = SFM_only$LAT, lon = SFM_only$LON, rast_vals = SFM_only$plot_fact == "Intermediate", fac1 = factor(SFM_only$MM_p,labels = c("Oct","Nov","Dec","Jan","Feb","Mar","Apr")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1)+ ggtitle("Intermediate")
argo_clust_dens_3 = spatial_plot(lat = SFM_only$LAT, lon = SFM_only$LON, rast_vals = SFM_only$plot_fact == "Deep", fac1 = factor(SFM_only$MM_p,labels = c("Oct","Nov","Dec","Jan","Feb","Mar","Apr")) ,lab = "proportion of shape",res_scale = 1.75) + facet_grid(.~fac1) + ggtitle("Deep")
grid.arrange(argo_clust_dens_1, argo_clust_dens_2, argo_clust_dens_3, ncol = 1)
SFM_only = BGCArgoResults_PCA_final %>% filter(KC_named == "SCM", !is.na(KC_bbp))
argo_clust_dens_1 = spatial_plot(lat = SFM_only$LAT, lon = SFM_only$LON, rast_vals = SFM_only$plot_fact == "Shallow",lab = "proportion of shape",res_scale = 1.75)+ ggtitle("Shallow")
argo_clust_dens_2 = spatial_plot(lat = SFM_only$LAT, lon = SFM_only$LON, rast_vals = SFM_only$plot_fact == "Intermediate" ,lab = "proportion of shape",res_scale = 1.75) + ggtitle("Deep")
argo_clust_dens_3 = spatial_plot(lat = SFM_only$LAT, lon = SFM_only$LON, rast_vals = SFM_only$plot_fact == "Deep",lab = "proportion of shape",res_scale = 1.75) + ggtitle("Intermediate")
grid.arrange(argo_clust_dens_1, argo_clust_dens_3,argo_clust_dens_2, nrow = 1)
pdf(paste("./plots/CH4/supp_MLD_EMLD.pdf"),width = 6, height = 4.5)
ggplot(BGCArgoResults_PCAf, aes(x = MLD, y = EMLD)) + geom_bin2d(bins = 50) + facet_wrap(~KC_named) + scale_fill_viridis_b(limits = c(0,100),oob = oob_squish,labels = c(0,0.25,0.5,0.75,1)) + geom_abline(slope = 1)
dev.off()
#spatial_plot(lat = BGCArgoResults_PCAf$LAT, lon = BGCArgoResults_PCAf$LON, rast_vals = (BGCArgoResults_PCAf$PC2),fac1 = factor(BGCArgoResults_PCAf$Seas,levels = c(1:4)), lab = "PC2")
summer_only = BGCArgoResults_PCAf %>% filter(MM %in% c(1:4,11:12))
argo_SFsummer = spatial_plot(lat = summer_only$LAT, lon = summer_only$LON, rast_vals = summer_only$KC_named == "SCM", fac1 = factor(summer_only$MM_p,levels = c(5:10), labels = c("Nov","Dec","Jan","Feb","Mar","Apr")) ,lab = "proportion of SCM",,res_scale = 1.75)
# Ship fluor
n_seas_obs = stats::aggregate(results_fluorf$KC, by = list(results_fluorf$MM), FUN = length)
max_sa = max(n_seas_obs$x)
n_seas_KC = stats::aggregate(results_fluorf$KC, by = list(results_fluorf$MM, results_fluorf$KC), FUN = length)
n_seas_obs = left_join(n_seas_obs,n_seas_KC, by = c("Group.1"))
n_seas_prop = data.frame(n_seas_obs[,1], n_seas_obs[,3], n_seas_obs$x.y/n_seas_obs$x.x)
colnames(n_seas_prop) = c("MM","KC","prop")
n_seas_prop$KC = as.factor(n_seas_prop$KC)
n_seas_prop$prop = n_seas_prop$prop*max_sa
# rearrange months variable fro plot to plot months Jul-June
n_seas_prop$MM_p = n_seas_prop$MM + 6
n_seas_prop$MM_p[n_seas_prop$MM_p > 12] = n_seas_prop$MM_p[n_seas_prop$MM_p > 12] - 12
n_seas_prop = n_seas_prop %>% filter(as.numeric(MM) < 4 | as.numeric(MM ) > 9)
results_fluorf$MM_p = results_fluorf$MM + 6
results_fluorf$MM_p[results_fluorf$MM_p > 12] = results_fluorf$MM_p[results_fluorf$MM_p > 12] - 12
seas_shipf = ggplot() + geom_bar(data = results_fluorf, aes(x = as.factor(MM_p)), fill = "grey69") + geom_line(data = n_seas_prop, aes(x=MM_p, y = prop ,colour = KC), lwd = 1.2)+
geom_point(data = n_seas_prop, aes(x=MM_p, y = prop ,colour = KC), cex = 2)+
theme(panel.background = element_blank(),legend.position = "top",
panel.grid.major = element_blank(),plot.title = element_text( size=12), axis.title.x = element_text(size = 14), axis.text.x = element_text(size = 14),
axis.text.y.left = element_text(size = 14),axis.text.y.right = element_text(size = 14, colour = "grey69"), axis.title.y = element_text(size = 14))+
scale_x_discrete(labels = c("J","A","S","O","N","D","J","F","M","A","M","J"), breaks = c(1:12)) +
scale_y_continuous(name = "% of profiles",breaks = seq(0,0.6*max_sa,0.2*max_sa), labels = seq(0,60,20),sec.axis = sec_axis(~., name = "number of observations", labels = seq(0,750,250), breaks = seq(0,750,250))) +
scale_color_manual("Shape",values = br_colours[c(2,5,6,1)],labels = c("DE" , "HM","SFM")) + xlab("Month") +
theme(axis.line.y.right = element_line(color="grey69", size = 1),
axis.line.x = element_line(color="black", size = 1),axis.line.y.left = element_line(color="black", size = 1), axis.ticks.y.right = element_line(colour = "grey69")
)#legend.position = "none")
shipf_SFM = spatial_plot(results_fluorf$LAT, results_fluorf$LON, colfact = results_fluorf$SFM, fac1 = factor(results_fluorf$SFM, levels = c(F,T),labels = c("No SFM", "SFM")) , fac2 = factor(results_fluorf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ) +scale_color_manual("SFM",values = br_colours[c(2,5,6,1)],labels = c("SFM", "No SFM"))
shipf_SFMseas = spatial_plot(lat = results_fluorf$LAT, lon = results_fluorf$LON, rast_vals = results_fluorf$SFM, fac1 = factor(results_fluorf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of SCM")
shipf_SFMmonth = spatial_plot(lat = results_fluorf$LAT, lon = results_fluorf$LON, rast_vals = results_fluorf$SFM, fac1 = factor(results_fluorf$MM_p,levels = c(1:12), labels = c("Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar","Apr","May","Jun")) ,lab = "proportion of SCM")
summer_only = results_fluorf %>% filter(MM %in% c(1:4,11:12))
shipf_SFsummer = spatial_plot(lat = summer_only$LAT, lon = summer_only$LON, rast_vals = summer_only$SFM, fac1 = factor(summer_only$MM_p,levels = c(5:10), labels = c("Nov","Dec","Jan","Feb","Mar","Apr")) ,lab = "proportion of SCM")
shipf_clust = spatial_plot(results_fluorf$LAT, results_fluorf$LON, colfact = results_fluorf$KC,fac1 = factor(results_fluorf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")), fac2 = factor(results_fluorf$KC)) +scale_color_manual("Shape",values = br_colours[c(2,5,6,1)],labels = c("SFM", "HSC", "DE" , "HM"))
shipf_clust_dens_SFM = spatial_plot(lat = results_fluorf$LAT, lon = results_fluorf$LON, rast_vals = results_fluorf$KC == 3, fac1 = factor(results_fluorf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape") + facet_grid(.~fac1) + ggtitle("SFM")
shipf_clust_dens_DE = spatial_plot(lat = results_fluorf$LAT, lon = results_fluorf$LON, rast_vals = results_fluorf$KC == 1, fac1 = factor(results_fluorf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape") + facet_grid(.~fac1)+ ggtitle("DE")
shipf_clust_dens_HM = spatial_plot(lat = results_fluorf$LAT, lon = results_fluorf$LON, rast_vals = results_fluorf$KC == 2, fac1 = factor(results_fluorf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape") + facet_grid(.~fac1) + ggtitle("HM")
grid.arrange(shipf_clust_dens_SFM, shipf_clust_dens_DE, shipf_clust_dens_HM, ncol = 1)
# Ship chl
n_seas_obs = stats::aggregate(results_allf$KC, by = list(results_allf$MM), FUN = length)
max_sa = max(n_seas_obs$x)
n_seas_KC = stats::aggregate(results_allf$KC, by = list(results_allf$MM, results_allf$KC), FUN = length)
n_seas_obs = left_join(n_seas_obs,n_seas_KC, by = c("Group.1"))
n_seas_prop = data.frame(n_seas_obs[,1], n_seas_obs[,3], n_seas_obs$x.y/n_seas_obs$x.x)
colnames(n_seas_prop) = c("MM","KC","prop")
n_seas_prop$KC = as.factor(n_seas_prop$KC)
n_seas_prop$prop = n_seas_prop$prop*max_sa
# rearrange months variable fro plot to plot months Jul-June
n_seas_prop$MM_p = n_seas_prop$MM + 6
n_seas_prop$MM_p[n_seas_prop$MM_p > 12] = n_seas_prop$MM_p[n_seas_prop$MM_p > 12] - 12
n_seas_prop = n_seas_prop %>% filter(as.numeric(MM) < 4 | as.numeric(MM ) > 9)
results_allf$MM_p = results_allf$MM + 6
results_allf$MM_p[results_allf$MM_p > 12] = results_allf$MM_p[results_allf$MM_p > 12] - 12
seas_shipc = ggplot() + geom_bar(data = results_allf, aes(x = as.factor(MM_p)), fill = "grey69") + geom_line(data = n_seas_prop, aes(x=MM_p, y = prop ,colour = KC), lwd = 1.2)+
geom_point(data = n_seas_prop, aes(x=MM_p, y = prop ,colour = KC), cex = 2)+
theme(panel.background = element_blank(),legend.position = "top",
panel.grid.major = element_blank(),plot.title = element_text( size=12), axis.title.x = element_text(size = 14), axis.text.x = element_text(size = 14),
axis.text.y.left = element_text(size = 14),axis.text.y.right = element_text(size = 14, colour = "grey69"), axis.title.y = element_text(size = 14))+
scale_x_discrete(labels = c("J","A","S","O","N","D","J","F","M","A","M","J"), breaks = c(1:12)) +
scale_y_continuous(name = "% of profiles",breaks = seq(0,0.6*max_sa,0.2*max_sa), labels = seq(0,60,20),sec.axis = sec_axis(~., name = "number of observations", labels = seq(0,750,250), breaks = seq(0,750,250))) +
scale_color_manual("Shape",values = br_colours[c(2,5,6,1)],labels = c("DE" , "HM","SCM")) + xlab("Month") +
theme(axis.line.y.right = element_line(color="grey69", size = 1),
axis.line.x = element_line(color="black", size = 1),axis.line.y.left = element_line(color="black", size = 1), axis.ticks.y.right = element_line(colour = "grey69")
)#legend.position = "none")
ship_SCM = spatial_plot(results_allf$LAT, results_allf$LON, colfact = results_allf$SCM, fac1 = factor(results_allf$SCM, levels = c(F,T),labels = c("No SCM", "SCM")) , fac2 = factor(results_allf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ) +scale_color_manual("SCM",values = br_colours[c(2,5,6,1)],labels = c("SCM", "No SCM"))
ship_SCMseas = spatial_plot(lat = results_allf$LAT, lon = results_allf$LON, rast_vals = results_allf$SCM, fac1 = factor(results_allf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of SCM")
ship_clust = spatial_plot(results_allf$LAT, results_allf$LON, colfact = results_allf$KC,fac1 = factor(results_allf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")), fac2 = factor(results_allf$KC)) +scale_color_manual("Shape",values = br_colours[c(2,5,6,1)],labels = c("DE", "HM", "SCM"))
ship_clust_dens_SFM = spatial_plot(lat =results_allf$LAT, lon = results_allf$LON, rast_vals = results_allf$KC == 3, fac1 = factor(results_allf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape") + facet_grid(.~fac1) + ggtitle("SFM")
ship_clust_dens_HM = spatial_plot(lat = results_allf$LAT, lon = results_allf$LON, rast_vals = results_allf$KC == 2, fac1 = factor(results_allf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape") + facet_grid(.~fac1) + ggtitle("HM")
ship_clust_dens_DE = spatial_plot(lat = results_allf$LAT, lon = results_allf$LON, rast_vals = results_allf$KC == 1, fac1 = factor(results_allf$Seas,levels = c(1:4), labels = c("Summer","Autumn","Winter","Spring")) ,lab = "proportion of shape") + facet_grid(.~fac1)+ ggtitle("DE")
grid.arrange(ship_clust_dens_SFM, ship_clust_dens_DE, ship_clust_dens_HM, ncol = 1)