-
Notifications
You must be signed in to change notification settings - Fork 0
/
node-summary.Rmd
207 lines (143 loc) · 8.99 KB
/
node-summary.Rmd
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
---
title: "Node summary"
author: "Robert Schlegel"
date: "2019-07-09"
output: workflowr::wflow_html
editor_options:
chunk_output_type: console
csl: FMars.csl
bibliography: MHWNWA.bib
---
```{r global_options, include = FALSE}
knitr::opts_chunk$set(fig.width = 8, fig.align = 'center',
echo = FALSE, warning = FALSE, message = FALSE,
eval = TRUE, tidy = FALSE)
```
## Introduction
This vignette will show the summary figures for the various SOM experiments. The code used to create these summary figures may be found in `code/functions.R` and a more detailed overview is given in the [Figures vignette](https://robwschlegel.github.io/MHWNWA/node-summary.html). The SOM experiments are given below by name and abbreviation. Within each experiment, the individual nodes are listed below by their number. Use the table of contents on the left of the screen to move quickly between SOM experiments and their nodes of interest as desired.
## Visualise SOM results
With the following lines of code we create PDFs for each of the variables for each of the nodes for our different conditions. These PDFs may be seen at `output/SOM/*`, where `*` is the code name denoting which SOM experiment was conducted.
```{r som-visualise, eval=FALSE}
# Load all functions etc.
source("code/functions.R")
# All data
# Note that this will be cropped to the same study area as the no LS run
som_all <- readRDS("data/som_all.Rda")
som_node_visualise(som_all, dir_name = "all")
# No Labrador Shelf
som_nolab <- readRDS("data/som_nolab.Rda")
som_node_visualise(som_nolab, dir_name = "no_ls")
# Na Lab or GSL
som_nolabgsl <- readRDS("data/som_nolabgsl.Rda")
som_node_visualise(som_nolabgsl, dir_name = "no_ls_gsl")
# Na Lab, 9 nodes
som_nolab_9 <- readRDS("data/som_nolab_9.Rda")
som_node_visualise(som_nolab_9, dir_name = "no_ls_3x3", col_num = 3)
# Na Lab, 16 nodes
som_nolab_16 <- readRDS("data/som_nolab_16.Rda")
som_node_visualise(som_nolab_16, dir_name = "no_ls_4x4")
# Na Lab and no moderate events
som_nolabmod <- readRDS("data/som_nolabmod.Rda")
som_node_visualise(som_nolabmod, dir_name = "no_ls_mod", col_num = 2)
# No Lab and no events shorter than 14 days
som_nolab14 <- readRDS("data/som_nolab14.Rda")
som_node_visualise(som_nolab14, dir_name = "no_ls_14", col_num = 3)
```
Juggling back and forth between the SST anomaly figures with and without the Gulf of St Lawrence it first appears that they are very different, but this is mostly due to the top and bottom rows of nodes being flipped. The actual differences are much more muted and the patterns tend to hold. The patterns appear more crisp in the larger of the two study extents. This is likely because the inclusion of the shallow GSL gives more power to the atmospheric variables to compete with the Gulf Stream. For this reason we are going to proceed with the inclusion of the Gulf of St Lawrence.
Looking at different counts of nodes it appears as though 9 may not be enough. When 12 nodes are used more detail comes through. Going up to 16 nodes appear to be too much as not much more detail comes through while creating the complexity of more node results to sift through. When the moderate events are removed we are left with only 37 events (synoptic states) to feed the SOM. This means we shouldn't use more than 4 nodes so as not to (be just shy of) at least 10 potential values binned into each node. The four nodes that are output do show the most clear difference in patterns and actually do a surprising job of encapsulating the different potential drivers of MHWs. An ANOSIM test on the nodes show that they are different with a _p_ = 0.046. All of the other results have a ANOSIM of _p_ = 0.001. One issue with screening the events by category is that this part of the ocean experiences many long category I Moderate events that may still be relevant.
So rather than screen by category, I also made a run on the SOM with MHW data with events shorter than 14 days removed. This left us with 103 events to work with, which is a good number to use with a 3x3 grid. The results tell perhaps a clearer story than with the 12 nodes and all MHWs.
Just from going over the node summaries created in this vignette it is too difficult to say conclusively which SOM experiment produces the clearest results. We will need to go over the summary figures in much more detail in order to get a better idea of how well this is working out. Also unresolved in this vignette is the criticism that the methodology used for the creation of the mean synoptic states fed to the SOM is weak to long events coming through as "grey", meaning they average out to a rather unremarkable state, even though they are likely the most important of all. One proposed fix for this is to create synoptic states using only the peak date of the event, rather than a mean over the range of the event. This should be looked into...
A last point here is that this methodology should also be useful for looking backwards and forwards through time to see what the synoptic states looked like leading up to and just after the event. This information could be more useful than the first wave of results. Before doing this however a singular methodology needs to be pinned down (i.e. which events to screen and how many nodes to use).
See the files in the `/output/SOM_nodes/` folder in the GitHub repo for this project. They aren't all shown here because they take a bit too long to render.
<!-- But the following shows what the SST anomaly nodes look like. -->
## Figure caption key
The captions for the figures below have a lot of acronyms in them but they are consistently used and I will provide a list of what they are here. Whenever one sees an acronym in lower case letters it is referring to one of the regions of the study area as seen in the following figure.
```{r study-regions, out.width='100%', fig.align='center', fig.cap='The regions of the coast were devided up by their temperature and salinity regimes based on work by @Richaud2016. The regions were furthered divided into sub-regions based on their depth.'}
knitr::include_graphics("assets/study_regions.png")
```
The region abbreviations are:
- gm = Gulf of Maine
- gls = Gulf of St. Lawrence
- ls = Labrador Shelf
- mab = Mid-Atlantic Bight
- nfs = Newfoundland Shelf
- ss = Scotian Shelf
The upper case acronyms used in the following figure captions are as follows:
- SST = Sea surface temperature
- SOM = Self-organising map(s)
- GS = Gulf Stream
- AO = Atlantic Ocean
- LS = Labrador Sea
- LC = Labrador Current
- NS = Nova Scotia
## SOM experiment: No Labrador Shelf region (default), 4x3 nodes
### Node summary table
The table below contains a concise summary of the nodes following Table 4 in @Oliver2018tasmania. The following sub-sections provide more in-depth explanations.
|Node|Region |Season |MHW Properties |Conditions |
|----|----------|----------|------------------|-----------------|
|1 | | | | |
### Season + region
```{r no-ls-season-summary, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/fig_5.png")
```
### SST + U + V
```{r no-ls-sst-summary, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/fig_2.png")
```
### Air temp + U + V
```{r no-ls-t2m-summary, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/fig_3.png")
```
### MLD + Net downward heatflux
```{r no-ls-mld-summary, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/fig_4.png")
```
### Node 1
```{r no-ls-node-1, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_1_panels.png")
```
### Node 2
```{r no-ls-node-2, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_2_panels.png")
```
### Node 3
```{r no-ls-node-3, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_3_panels.png")
```
### Node 4
```{r no-ls-node-4, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_4_panels.png")
```
### Node 5
```{r no-ls-node-5, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_5_panels.png")
```
### Node 6
```{r no-ls-node-6, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_6_panels.png")
```
### Node 7
```{r no-ls-node-7, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_7_panels.png")
```
### Node 8
```{r no-ls-node-8, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_8_panels.png")
```
### Node 9
```{r no-ls-node-9, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_9_panels.png")
```
### Node 10
```{r no-ls-node-10, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_10_panels.png")
```
### Node 11
```{r no-ls-node-11, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_11_panels.png")
```
### Node 12
```{r no-ls-node-12, out.width='100%', fig.align='center'}
knitr::include_graphics("assets/no_ls/node_12_panels.png")
```
## References