diff --git a/.RData b/.RData
index f063ec0..7ba01c9 100644
--- a/.RData
+++ b/.RData
Binary files differ
diff --git a/.Rhistory b/.Rhistory
index df8f58e..d4a1201 100644
--- a/.Rhistory
+++ b/.Rhistory
@@ -375,3 +375,23 @@
 library(posterdown)
 library(posterdown)
 library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
diff --git a/.Rproj.user/441ADA46/pcs/windowlayoutstate.pper b/.Rproj.user/441ADA46/pcs/windowlayoutstate.pper
index bdf8932..e9b88cf 100644
--- a/.Rproj.user/441ADA46/pcs/windowlayoutstate.pper
+++ b/.Rproj.user/441ADA46/pcs/windowlayoutstate.pper
@@ -1,14 +1,14 @@
 {
     "left" : {
-        "panelheight" : 797,
-        "splitterpos" : 333,
+        "panelheight" : 789,
+        "splitterpos" : 329,
         "topwindowstate" : "NORMAL",
-        "windowheight" : 836
+        "windowheight" : 828
     },
     "right" : {
-        "panelheight" : 797,
-        "splitterpos" : 499,
+        "panelheight" : 789,
+        "splitterpos" : 493,
         "topwindowstate" : "NORMAL",
-        "windowheight" : 836
+        "windowheight" : 828
     }
 }
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/persistent-state b/.Rproj.user/441ADA46/persistent-state
index 7d52961..7a60de9 100644
--- a/.Rproj.user/441ADA46/persistent-state
+++ b/.Rproj.user/441ADA46/persistent-state
@@ -1,8 +1,8 @@
 build-last-errors="[]"
 build-last-errors-base-dir="~/Documents/GitHub/posterdown/"
-build-last-outputs="[{\"output\":\"==> R CMD INSTALL --preclean --no-multiarch --with-keep.source posterdown\\n\\n\",\"type\":0},{\"output\":\"* installing to library ‘/home/thornux/R/x86_64-pc-linux-gnu-library/3.5’\\n\",\"type\":1},{\"output\":\"* installing *source* package ‘posterdown’ ...\\n\",\"type\":1},{\"output\":\"** R\\n\",\"type\":1},{\"output\":\"** inst\\n\",\"type\":1},{\"output\":\"** byte-compile and prepare package for lazy loading\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** help\\n\",\"type\":1},{\"output\":\"*** installing help indices\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** building package indices\\n\",\"type\":1},{\"output\":\"** testing if installed package can be loaded\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"* DONE (posterdown)\\n\",\"type\":1},{\"output\":\"\",\"type\":1}]"
+build-last-outputs="[{\"output\":\"==> R CMD INSTALL --preclean --no-multiarch --with-keep.source posterdown\\n\\n\",\"type\":0},{\"output\":\"* installing to library ‘/home/thornux/R/x86_64-pc-linux-gnu-library/3.5’\\n\",\"type\":1},{\"output\":\"* installing *source* package ‘posterdown’ ...\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** R\\n\",\"type\":1},{\"output\":\"** inst\\n\",\"type\":1},{\"output\":\"** byte-compile and prepare package for lazy loading\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** help\\n\",\"type\":1},{\"output\":\"*** installing help indices\\n\",\"type\":1},{\"output\":\"** building package indices\\n\",\"type\":1},{\"output\":\"** testing if installed package can be loaded\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"* DONE (posterdown)\\n\",\"type\":1},{\"output\":\"\",\"type\":1}]"
 compile_pdf_state="{\"errors\":[],\"output\":\"\",\"running\":false,\"tab_visible\":false,\"target_file\":\"\"}"
 files.monitored-path=""
-find-in-files-state="{\"handle\":\"\",\"input\":\"\",\"path\":\"\",\"regex\":false,\"results\":{\"file\":[],\"line\":[],\"lineValue\":[],\"matchOff\":[],\"matchOn\":[]},\"running\":false}"
+find-in-files-state="{\"handle\":\"\",\"input\":\"\",\"path\":\"\",\"regex\":true,\"results\":{\"file\":[],\"line\":[],\"lineValue\":[],\"matchOff\":[],\"matchOn\":[]},\"running\":false}"
 imageDirtyState="1"
 saveActionState="-1"
diff --git a/.Rproj.user/441ADA46/rmd-outputs b/.Rproj.user/441ADA46/rmd-outputs
index 5fdd6e1..13d6ff5 100644
--- a/.Rproj.user/441ADA46/rmd-outputs
+++ b/.Rproj.user/441ADA46/rmd-outputs
@@ -1,5 +1,7 @@
 ~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
-~/Untitled/Untitled.pdf
+~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
+~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
+~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
 
 
 
diff --git a/.Rproj.user/441ADA46/sources/per/t/74A687A4 b/.Rproj.user/441ADA46/sources/per/t/74A687A4
index 185bc76..faf56b7 100644
--- a/.Rproj.user/441ADA46/sources/per/t/74A687A4
+++ b/.Rproj.user/441ADA46/sources/per/t/74A687A4
@@ -5,15 +5,15 @@
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "629593199",
+    "hash" : "1960045861",
     "id" : "74A687A4",
-    "lastKnownWriteTime" : 1543935068,
-    "last_content_update" : 1543935068435,
+    "lastKnownWriteTime" : 1543982875,
+    "last_content_update" : 1543982875205,
     "path" : "~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
     "project_path" : "inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
     "properties" : {
-        "cursorPosition" : "71,626",
-        "scrollLine" : "63"
+        "cursorPosition" : "7,0",
+        "scrollLine" : "0"
     },
     "relative_order" : 2,
     "source_on_save" : false,
diff --git a/.Rproj.user/441ADA46/sources/per/t/74A687A4-contents b/.Rproj.user/441ADA46/sources/per/t/74A687A4-contents
index b1b4144..584788c 100644
--- a/.Rproj.user/441ADA46/sources/per/t/74A687A4-contents
+++ b/.Rproj.user/441ADA46/sources/per/t/74A687A4-contents
@@ -1,20 +1,59 @@
 ---
 title: 'Identifying relationships among catchment land cover characteristics, active layer properties and lake hydroecology in Old Crow Flats, Yukon, Canada'
-author: "Brent Thorne"
+author: "W. Brent Thorne^[1]; Kevin W. Turner^[2]"
 date: 'December 2018'
-bibliography: MyLibrary.bib
+bibliography: MyLibrary
 output: posterdown::posterdown_memoir
 ---
 
 ```{r, include=FALSE}
-knitr::opts_chunk$set(echo = FALSE, results = 'asis', warning = FALSE, message = FALSE, fig.height = 3, fig.width = 3, dev='cairo_pdf')
+knitr::opts_chunk$set(echo = FALSE, results = 'asis', fig.height = 3, fig.width = 3, warning = FALSE, fig.align = 'center', message = FALSE, dev='cairo_pdf')
 ```
 
-## Introduction
+# Introduction
 
-Lorem ipsum dolor sit amet, @holdenIdentifyingStructuralComplexity2012 consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Mauris vitae ultricies leo integer malesuada nunc vel risus commodo. Suspendisse potenti nullam ac tortor vitae. Enim nunc faucibus a pellentesque sit amet porttitor eget. 
+Lorem ipsum dolor sit amet, [@holden_identifying_2012] consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Mauris vitae ultricies leo integer malesuada nunc vel risus commodo. Suspendisse potenti nullam ac tortor vitae. Enim nunc faucibus a pellentesque sit amet porttitor eget. 
 
-```{r, out.width='100%', fig.align='center', fig.width=4, fig.height=3}
+# Study Site
+
+Here is a map made to show the study site using `ggplot2`, `ggspatial`, and `rgdal`. Lorem ipsum dolor sit amet, [@middleton_geological_nodate] consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Mauris vitae ultricies leo integer malesuada nunc vel risus commodo. Suspendisse potenti nullam ac tortor vitae. Enim nunc faucibus a pellentesque sit amet porttitor eget. 
+
+```{r, fig.width=3.5, out.width="80%", fig.cap='This is a map of Canada, projected using the NAD 83 UTM Zone 7 Datum.'}
+library(ggplot2)
+library(ggspatial)
+library(ggthemes)
+library(sf)
+
+canada <- read_sf("data/Canada.geojson")
+
+
+ggplot() +
+  ggspatial::layer_spatial(canada, fill = "grey") +
+  coord_sf() +
+  theme_solarized() +
+  # theme(plot.margin = unit(c(0,0,0,0), "in")) +
+  NULL
+
+```
+
+
+# Objectives
+
+1. Here is my first obective.
+2. Here is my second objective.
+3. Finally, my third objectives.
+
+# Methods
+
+Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat nibh sed pulvinar. Neque ornare aenean euismod elementum. Vel fringilla est ullamcorper eget nulla. Sollicitudin aliquam ultrices sagittis orci a. Maecenas accumsan lacus vel facilisis volutpat est velit. Sed sed risus pretium quam vulputate dignissim. Convallis posuere morbi leo urna molestie. Cursus vitae congue mauris rhoncus. Vitae ultricies leo integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur adipiscing. Enim sit amet venenatis urna cursus eget nunc.
+
+Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae congue eu consequat ac felis donec et. Morbi tincidunt ornare massa eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa sapien faucibus et molestie. Neque egestas congue quisque egestas diam. Lectus quam id leo in vitae turpis massa. Sodales ut etiam sit amet. Posuere lorem ipsum dolor sit amet consectetur. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Amet commodo nulla facilisi nullam vehicula ipsum. Magna ac placerat vestibulum lectus mauris ultrices eros. Sodales ut eu sem integer vitae justo eget magna. Malesuada bibendum arcu vitae elementum.
+
+# Results
+
+Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum varius duis at consectetur lorem done.
+
+```{r, out.width='60%', fig.width=4, fig.height=3, fig.cap='This is a typical ggplot2 example using the iris dataset provided in R.'}
 library(ggplot2)
 library(ggthemes)
 
@@ -26,44 +65,18 @@
 
 ```
 
-Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat nibh sed pulvinar. Neque ornare aenean euismod elementum. Vel fringilla est ullamcorper eget nulla. Sollicitudin aliquam ultrices sagittis orci a. Maecenas accumsan lacus vel facilisis volutpat est velit. Sed sed risus pretium quam vulputate dignissim. Convallis posuere morbi leo urna molestie. Cursus vitae congue mauris rhoncus. Vitae ultricies leo integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur adipiscing. Enim sit amet venenatis urna cursus eget nunc.
-
-
-## Objectives
-
-\large
-
-1. Here is my first obective.
-2. Here is my second objective.
-3. Finally, my third objectives.
-
-\small
-
-## Methods
-
-Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae congue eu consequat ac felis donec et. Morbi tincidunt ornare massa eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa sapien faucibus et molestie. Neque egestas congue quisque egestas diam. Lectus quam id leo in vitae turpis massa. Sodales ut etiam sit amet. Posuere lorem ipsum dolor sit amet consectetur. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Amet commodo nulla facilisi nullam vehicula ipsum. Magna ac placerat vestibulum lectus mauris ultrices eros. Sodales ut eu sem integer vitae justo eget magna. Malesuada bibendum arcu vitae elementum.
-
-
-```
-plot(rnorm(10))
-
-```
-
-## Results
-
 Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum varius duis at consectetur lorem done.
 
-```{r, out.width='80%', fig.align='center'}
+```{r, out.width='80%', fig.align='center', fig.cap='This is a messy graphic right now but I will clean it up in the future.'}
 
 knitr::include_graphics('Figures/figure2.pdf')
 
 ```
 
-
 Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
 
-```{r, out.width='65%', fig.align='center'}
-
+```{r, out.width='65%', fig.align='center', fig.height=5, fig.cap='Another figure showing how base R plots might look on this poster!'}
+par(mfrow=c(2,1), mar=c(0.2,0.2,0.2,0.2),mai=c(0.2,0.2,0.2,0.2))
 plot(rnorm(20))
 plot(cars)
 
@@ -71,3 +84,7 @@
 
 More text now here Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
 
+# Next Steps
+
+Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
+
diff --git a/.Rproj.user/441ADA46/sources/per/t/90EA5F68 b/.Rproj.user/441ADA46/sources/per/t/90EA5F68
index f681746..abd3a4a 100644
--- a/.Rproj.user/441ADA46/sources/per/t/90EA5F68
+++ b/.Rproj.user/441ADA46/sources/per/t/90EA5F68
@@ -5,15 +5,15 @@
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "1435674975",
+    "hash" : "3243132777",
     "id" : "90EA5F68",
-    "lastKnownWriteTime" : 1543935046,
-    "last_content_update" : 1543935046680,
+    "lastKnownWriteTime" : 1543983797,
+    "last_content_update" : 1543983798004,
     "path" : "~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex",
     "project_path" : "inst/rmarkdown/templates/posterdown_memoir/resources/template.tex",
     "properties" : {
-        "cursorPosition" : "52,0",
-        "scrollLine" : "44"
+        "cursorPosition" : "13,0",
+        "scrollLine" : "4"
     },
     "relative_order" : 1,
     "source_on_save" : false,
diff --git a/.Rproj.user/441ADA46/sources/per/t/90EA5F68-contents b/.Rproj.user/441ADA46/sources/per/t/90EA5F68-contents
index 3dff08f..dd8a7dc 100644
--- a/.Rproj.user/441ADA46/sources/per/t/90EA5F68-contents
+++ b/.Rproj.user/441ADA46/sources/per/t/90EA5F68-contents
@@ -1,6 +1,6 @@
 %brent's poster layout :)
 
-\documentclass[30pt,extrafontsizes]{memoir}
+\documentclass[article,30pt,extrafontsizes]{memoir}
 
 %utf-8 seems to be important
 \usepackage[utf8]{inputenc}
@@ -9,6 +9,19 @@
 \usepackage{multicol}
 \usepackage{graphicx}
 \usepackage{blindtext,xcolor}
+\usepackage{framed}
+\usepackage{color}
+
+%For figure and table placement
+\usepackage{float}
+\floatplacement{figure}{H}
+\floatplacement{table}{H}
+
+%spacing between figure/ table and caption
+\setlength{\abovecaptionskip}{0.4in}
+\setlength{\belowcaptionskip}{0.1in}
+\captionnamefont{\footnotesize\sffamily\bfseries}
+\captiontitlefont{\footnotesize\sffamily}
 
 %define column options
 \setlength{\columnseprule}{1pt}
@@ -21,14 +34,22 @@
 %-----------------------------------------------------
 
 %define poster size
-\usepackage[paperwidth=45in,paperheight=38in, text={7in,10in},centering, margin=1in]{geometry}
+\usepackage[paperwidth=45in,paperheight=38in, text={7in,10in},centering]{geometry}
+
+\geometry{
+left=5mm,
+right=5mm,
+top=0mm,
+bottom=5mm,
+headheight=0mm,
+}
 
 \thispagestyle{empty}
 
-\usepackage[style=authoryear-comp,backend=biber]{biblatex}
+\usepackage[style=numeric,backend=biber]{biblatex}
 \renewcommand*{\bibfont}{\tiny}
 
-\bibliography{\jobname}
+\bibliography{$bibliography$}
 
 \counterwithout{section}{chapter}
 \makechapterstyle{mydefault}{
@@ -38,8 +59,10 @@
 \setsubsubsecheadstyle{\itshape}
 }
 
-\chapterstyle{mydefault}
+\setlength\parindent{10mm}
+\setlength\hangindent{10mm}
 
+\chapterstyle{mydefault}
 
 \defbibheading{bibliography}[\bibname]{%
 \section*{#1}%
@@ -56,23 +79,31 @@
 
 %spacing after section head title
 \setaftersecskip{0.3in}
-\setbeforesecskip{1in}
-
+\setbeforesecskip{0.5in}
+\setlength\textfloatsep{0.1in}
+\setlength\floatsep{0.1in}
+\setlength\intextsep{0.1in}
 \setlength{\parskip}{0pt}
 
+%for shading the top
+\definecolor{shadecolor}{gray}{0.9}
+
+
 %begin the document
 \begin{document}
 
 
 % group which adds title author and other infor
 % Used instead of \maketitle for better spacing options
+\begin{shaded}
 \begingroup
   \centering
   \huge\textbf{$title$}\\[0.3in]
-  \large $author$\par
+  \Large $author$\par
 \endgroup
 \vspace{1.2in}
 % end title section -------------------
+  \end{shaded}
 
 % Brgin body of poster
 \begin{multicols*}{3}
diff --git a/.Rproj.user/441ADA46/sources/prop/4B35A6C8 b/.Rproj.user/441ADA46/sources/prop/4B35A6C8
index ca0d66c..c925790 100644
--- a/.Rproj.user/441ADA46/sources/prop/4B35A6C8
+++ b/.Rproj.user/441ADA46/sources/prop/4B35A6C8
@@ -1,4 +1,4 @@
 {
-    "cursorPosition" : "71,626",
-    "scrollLine" : "63"
+    "cursorPosition" : "7,0",
+    "scrollLine" : "0"
 }
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/93AF88EC b/.Rproj.user/441ADA46/sources/prop/93AF88EC
index 426343e..b641e27 100644
--- a/.Rproj.user/441ADA46/sources/prop/93AF88EC
+++ b/.Rproj.user/441ADA46/sources/prop/93AF88EC
@@ -1,4 +1,4 @@
 {
-    "cursorPosition" : "52,0",
-    "scrollLine" : "44"
+    "cursorPosition" : "13,0",
+    "scrollLine" : "4"
 }
\ No newline at end of file
diff --git a/.Rproj.user/shared/notebooks/93147947-skeleton/1/5271889B2F349818/chunks.json b/.Rproj.user/shared/notebooks/93147947-skeleton/1/5271889B2F349818/chunks.json
deleted file mode 100644
index b753407..0000000
--- a/.Rproj.user/shared/notebooks/93147947-skeleton/1/5271889B2F349818/chunks.json
+++ /dev/null
@@ -1 +0,0 @@
-{"chunk_definitions":[],"chunk_rendered_width":400,"doc_write_time":1543949570}
\ No newline at end of file
diff --git a/.Rproj.user/shared/notebooks/93147947-skeleton/1/s/chunks.json b/.Rproj.user/shared/notebooks/93147947-skeleton/1/s/chunks.json
deleted file mode 100644
index b753407..0000000
--- a/.Rproj.user/shared/notebooks/93147947-skeleton/1/s/chunks.json
+++ /dev/null
@@ -1 +0,0 @@
-{"chunk_definitions":[],"chunk_rendered_width":400,"doc_write_time":1543949570}
\ No newline at end of file
diff --git a/.Rproj.user/shared/notebooks/A61179E-skeleton/1/441ADA46648E2E7B/chunks.json b/.Rproj.user/shared/notebooks/A61179E-skeleton/1/441ADA46648E2E7B/chunks.json
new file mode 100644
index 0000000..212cd1e
--- /dev/null
+++ b/.Rproj.user/shared/notebooks/A61179E-skeleton/1/441ADA46648E2E7B/chunks.json
@@ -0,0 +1 @@
+{"chunk_definitions":[],"doc_write_time":1543981544}
\ No newline at end of file
diff --git a/.Rproj.user/shared/notebooks/A61179E-skeleton/1/s/chunks.json b/.Rproj.user/shared/notebooks/A61179E-skeleton/1/s/chunks.json
new file mode 100644
index 0000000..212cd1e
--- /dev/null
+++ b/.Rproj.user/shared/notebooks/A61179E-skeleton/1/s/chunks.json
@@ -0,0 +1 @@
+{"chunk_definitions":[],"doc_write_time":1543981544}
\ No newline at end of file
diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths
index 685ff21..8b489d9 100644
--- a/.Rproj.user/shared/notebooks/paths
+++ b/.Rproj.user/shared/notebooks/paths
@@ -1,5 +1 @@
-C:/Users/Brent Thorne/Documents/GitHub/Thesis/RS_Journal/RS_Journal.Rmd="8E61E08B"
-C:/Users/Brent Thorne/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex="61BE9C2F"
-C:/Users/Brent Thorne/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/Untitled.bib="470DF060"
-C:/Users/Brent Thorne/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd="93147947"
-C:/Users/Brent Thorne/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.bib="708416B2"
+/home/thornux/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd="A61179E"
diff --git a/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex b/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex
index 4d06a01..dd8a7dc 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex
+++ b/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex
@@ -20,8 +20,8 @@
 %spacing between figure/ table and caption
 \setlength{\abovecaptionskip}{0.4in}
 \setlength{\belowcaptionskip}{0.1in}
-\captionnamefont{\small\sffamily\bfseries}
-\captiontitlefont{\small\sffamily}
+\captionnamefont{\footnotesize\sffamily\bfseries}
+\captiontitlefont{\footnotesize\sffamily}
 
 %define column options
 \setlength{\columnseprule}{1pt}
@@ -37,16 +37,16 @@
 \usepackage[paperwidth=45in,paperheight=38in, text={7in,10in},centering]{geometry}
 
 \geometry{
-left=1in,
-right=0mm,
+left=5mm,
+right=5mm,
 top=0mm,
-bottom=1in,
+bottom=5mm,
 headheight=0mm,
 }
 
 \thispagestyle{empty}
 
-\usepackage[style=authoryear-comp,backend=biber]{biblatex}
+\usepackage[style=numeric,backend=biber]{biblatex}
 \renewcommand*{\bibfont}{\tiny}
 
 \bibliography{$bibliography$}
@@ -60,6 +60,7 @@
 }
 
 \setlength\parindent{10mm}
+\setlength\hangindent{10mm}
 
 \chapterstyle{mydefault}
 
@@ -98,11 +99,12 @@
 \begingroup
   \centering
   \huge\textbf{$title$}\\[0.3in]
-  \large $author$\par
+  \Large $author$\par
 \endgroup
 \vspace{1.2in}
 % end title section -------------------
   \end{shaded}
+
 % Brgin body of poster
 \begin{multicols*}{3}
 \small{\noindent
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd
index 46719ab..584788c 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd
@@ -1,6 +1,6 @@
 ---
 title: 'Identifying relationships among catchment land cover characteristics, active layer properties and lake hydroecology in Old Crow Flats, Yukon, Canada'
-author: "Brent Thorne"
+author: "W. Brent Thorne^[1]; Kevin W. Turner^[2]"
 date: 'December 2018'
 bibliography: MyLibrary
 output: posterdown::posterdown_memoir
@@ -18,7 +18,7 @@
 
 Here is a map made to show the study site using `ggplot2`, `ggspatial`, and `rgdal`. Lorem ipsum dolor sit amet, [@middleton_geological_nodate] consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Mauris vitae ultricies leo integer malesuada nunc vel risus commodo. Suspendisse potenti nullam ac tortor vitae. Enim nunc faucibus a pellentesque sit amet porttitor eget. 
 
-```{r, fig.width=5, fig.height=5, out.width="80%", fig.cap='This is a map of Canada, projected using the NAD 83 UTM Zone 7 Datum.'}
+```{r, fig.width=3.5, out.width="80%", fig.cap='This is a map of Canada, projected using the NAD 83 UTM Zone 7 Datum.'}
 library(ggplot2)
 library(ggspatial)
 library(ggthemes)
@@ -43,6 +43,16 @@
 2. Here is my second objective.
 3. Finally, my third objectives.
 
+# Methods
+
+Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat nibh sed pulvinar. Neque ornare aenean euismod elementum. Vel fringilla est ullamcorper eget nulla. Sollicitudin aliquam ultrices sagittis orci a. Maecenas accumsan lacus vel facilisis volutpat est velit. Sed sed risus pretium quam vulputate dignissim. Convallis posuere morbi leo urna molestie. Cursus vitae congue mauris rhoncus. Vitae ultricies leo integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur adipiscing. Enim sit amet venenatis urna cursus eget nunc.
+
+Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae congue eu consequat ac felis donec et. Morbi tincidunt ornare massa eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa sapien faucibus et molestie. Neque egestas congue quisque egestas diam. Lectus quam id leo in vitae turpis massa. Sodales ut etiam sit amet. Posuere lorem ipsum dolor sit amet consectetur. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Amet commodo nulla facilisi nullam vehicula ipsum. Magna ac placerat vestibulum lectus mauris ultrices eros. Sodales ut eu sem integer vitae justo eget magna. Malesuada bibendum arcu vitae elementum.
+
+# Results
+
+Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum varius duis at consectetur lorem done.
+
 ```{r, out.width='60%', fig.width=4, fig.height=3, fig.cap='This is a typical ggplot2 example using the iris dataset provided in R.'}
 library(ggplot2)
 library(ggthemes)
@@ -55,24 +65,14 @@
 
 ```
 
-Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat nibh sed pulvinar. Neque ornare aenean euismod elementum. Vel fringilla est ullamcorper eget nulla. Sollicitudin aliquam ultrices sagittis orci a. Maecenas accumsan lacus vel facilisis volutpat est velit. Sed sed risus pretium quam vulputate dignissim. Convallis posuere morbi leo urna molestie. Cursus vitae congue mauris rhoncus. Vitae ultricies leo integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur adipiscing. Enim sit amet venenatis urna cursus eget nunc.
-
-# Methods
-
-Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae congue eu consequat ac felis donec et. Morbi tincidunt ornare massa eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa sapien faucibus et molestie. Neque egestas congue quisque egestas diam. Lectus quam id leo in vitae turpis massa. Sodales ut etiam sit amet. Posuere lorem ipsum dolor sit amet consectetur. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Amet commodo nulla facilisi nullam vehicula ipsum. Magna ac placerat vestibulum lectus mauris ultrices eros. Sodales ut eu sem integer vitae justo eget magna. Malesuada bibendum arcu vitae elementum.
-
-# Results
-
 Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum varius duis at consectetur lorem done.
 
-
 ```{r, out.width='80%', fig.align='center', fig.cap='This is a messy graphic right now but I will clean it up in the future.'}
 
 knitr::include_graphics('Figures/figure2.pdf')
 
 ```
 
-
 Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
 
 ```{r, out.width='65%', fig.align='center', fig.height=5, fig.cap='Another figure showing how base R plots might look on this poster!'}
@@ -84,3 +84,7 @@
 
 More text now here Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
 
+# Next Steps
+
+Pellentesque habitant morbi tristique senectus et netus. Magnis dis parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque habitant morbi tristique senectus.
+
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.bib b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.bib
deleted file mode 100644
index cfbb472..0000000
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.bib
+++ /dev/null
@@ -1,3308 +0,0 @@
-
-@article{noauthor_permafrost_2018,
-	title = {Permafrost Terrain Dynamics and Infrastructure Impacts Revealed by {UAV} Photogrammetry and Thermal Imaging},
-	abstract = {Unmanned Aerial Vehicle ({UAV}) systems, sensors, and photogrammetric processing techniques have enabled timely and highly detailed three-dimensional surface reconstructions at a scale that bridges the gap between conventional remote-sensing and ﬁeld-scale observations. In this work 29 rotary and ﬁxed-wing {UAV} surveys were conducted during multiple ﬁeld campaigns, totaling 47 ﬂights and over 14.3 km2, to document permafrost thaw subsidence impacts on or close to road infrastructure in the Northwest Territories, Canada. This paper provides four case studies: (1) terrain models and orthomosaic time series revealed the morphology and daily to annual dynamics of thaw-driven mass wasting phenomenon (retrogressive thaw slumps; {RTS}). Scar zone cut volume estimates ranged between 3.2 × 103 and 5.9 × 106 m3. The annual net erosion of {RTS} surveyed ranged between 0.35 × 103 and 0.39 × 106 m3. The largest {RTS} produced a long debris tongue with an estimated volume of 1.9 × 106 m3. Downslope transport of scar zone and embankment ﬁll materials was visualized using ﬂow vectors, while thermal imaging revealed areas of exposed ground ice and mobile lobes of saturated, thawed materials. (2) Stratigraphic models were developed for {RTS} headwalls, delineating ground-ice bodies and stratigraphic unconformities. (3) In poorly drained areas along road embankments, {UAV} surveys detected seasonal terrain uplift and settlement of up to 0.5 m ({\textgreater}1700 m2 in extent) as a result of injection ice development. (4) Time series of terrain models highlighted the thaw-driven evolution of a borrow pit (6.4 × 105 m3 cut volume) constructed in permafrost terrain, whereby ﬂuvial and thaw-driven sediment transfer (1.1 and 3.9 × 103 m3 a−1 respectively) was observed and whereby annual slope proﬁle reconﬁguration was monitored to gain management insights concerning site stabilization. Elevation model vertical accuracies were also assessed as part of the case studies and ranged between 0.02 and 0.13 m Root Mean Square Error, whereby photogrammetric models processed with Post-processed Kinematic image solutions achieved similar accuracies without ground control points over much larger and complex areas than previously reported. The high resolution of {UAV} surveys, and the capacity to derive quantitative time series provides novel insights into permafrost processes that are otherwise challenging to study. The timely emergence of these tools bridges ﬁeld-based research and applied studies with broad-scale remote-sensing approaches during a period when climate change is transforming permafrost environments.},
-	pages = {30},
-	date = {2018},
-	langid = {english},
-	file = {2018 - Permafrost Terrain Dynamics and Infrastructure Imp.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\FUDSGAUE\\2018 - Permafrost Terrain Dynamics and Infrastructure Imp.pdf:application/pdf}
-}
-
-@thesis{tank_sources_2009,
-	location = {Canada},
-	title = {Sources and cycling of dissolved organic carbon across a landscape of arctic delta lakes},
-	abstract = {Dissolved organic carbon ({DOC}) is a key regulator of aquatic ecosystems, and the primary substrate for aquatic bacteria. However, variations in function between different {DOC} sources are rarely studied. Arctic Mackenzie Delta lakes exhibit striking differences in {DOC} composition, with {DOC} sources ranging from C produced as a byproduct of aquatic plant (macrophyte) photosynthesis, to C derived from permafrost melting (thermokarst), and C delivered to lakes via river-water. This study assessed how variations in {DOC} source regulate the composition of the within-lake pool, drive bacterial metabolism and the contribution of bacterial biomass to higher trophic levels, and affect {CO}2 flux from Delta lakes. {DOC}-specific tracers showed macrophyte-derived {DOC} to comprise less than 15\% of the {DOC} pool in macrophyte-rich lakes, despite macrophyte C levels 7-12-fold greater than total {DOC}. However, bacterial δ13C indicated that bacteria preferentially incorporate {DOC} generated by macrophytes, while surveys and incubation experiments showed that bacterial metabolism is rapid on macrophytic {DOC}, with high rates of bacterial biomass production relative to respiratory loss as {CO}2. Accordingly, δ13C, δ15N, and fatty acid biomarkers demonstrated that zooplankton from macrophyte-rich lakes receive a greater proportion of their biomass from bacterial organic matter than zooplankton from other lake types. At the same time, however, experiments indicated that the high {pH} resulting from rapid photosynthesis in macrophyte-rich lakes can decrease the rate of bacterial metabolism over the short-term, and increase {CO}2 respiration at the expense of bacterial biomass production. In contrast, {DOC}-specific tracers indicated that thermokarst-derived {DOC} accumulates in lakes. Incubation experiments and in situ surveys revealed thermokarst {DOC} to be a relatively poor bacterial substrate, which resulted in proportionately more {CO}2 respiration, relative to bacterial biomass production, than observed for other Delta {DOC} sources. Moreover, multi-year surveys demonstrated that thermokarst lakes exhibit high levels of {CO}2 emission, despite clear undersaturation in other lakes, presumably because permafrost-derived {DOC} was largely respired by bacteria. Understanding the divergent roles played by the contrasting sources of {DOC} to Delta lakes both adds insight to the functioning of other lake regions, globally, and helps clarify the effect of climate-induced changes in {DOC} on northern lakes.},
-	pagetotal = {238},
-	institution = {Simon Fraser University},
-	type = {phdthesis},
-	author = {Tank, S. E.},
-	date = {2009},
-	file = {Tank - 2009 - Sources and cycling of dissolved organic carbon ac.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\UI6YIRWV\\Tank - 2009 - Sources and cycling of dissolved organic carbon ac.pdf:application/pdf}
-}
-
-@article{sobek_patterns_2007,
-	title = {Patterns and regulation of dissolved organic carbon: An analysis of 7,500 widely distributed lakes},
-	volume = {52},
-	issn = {1939-5590},
-	url = {https://aslopubs.onlinelibrary.wiley.com/doi/abs/10.4319/lo.2007.52.3.1208},
-	doi = {10.4319/lo.2007.52.3.1208},
-	shorttitle = {Patterns and regulation of dissolved organic carbon},
-	abstract = {Dissolved organic carbon ({DOC}) is a key parameter in lakes that can affect numerous features, including microbial metabolism, light climate, acidity, and primary production. In an attempt to understand the factors that regulate {DOC} in lakes, we assembled a large database (7,514 lakes from 6 continents) of {DOC} concentrations and other parameters that characterize the conditions in the lakes, the catchment, the soil, and the climate. {DOC} concentrations were in the range 0.1–332 mg L−1, and the median was 5.71 mg L−1. A partial least squares regression explained 48\% of the variability in lake {DOC} and showed that altitude, mean annual runoff, and precipitation were negatively correlated with lake {DOC}, while conductivity, soil carbon density, and soil C:N ratio were positively related with lake {DOC}. A multiple linear regression using altitude, mean annual runoff, and soil carbon density as predictors explained 40\% of the variability in lake {DOC}. While lake area and drainage ratio (catchment : lake area) were not correlated to lake {DOC} in the global data set, these two factors explained significant variation of the residuals of the multiple linear regression model in several regional subsets of data. These results suggest a hierarchical regulation of {DOC} in lakes, where climatic and topographic characteristics set the possible range of {DOC} concentrations of a certain region, and catchment and lake properties then regulate the {DOC} concentration in each individual lake.},
-	pages = {1208--1219},
-	number = {3},
-	journaltitle = {Limnology and Oceanography},
-	author = {Sobek, Sebastian and Tranvik, Lars J. and Prairie, Yves T. and Kortelainen, Pirkko and Cole, Jonathan J.},
-	urldate = {2018-10-24},
-	date = {2007-05-01},
-	langid = {english},
-	file = {Sobek et al. - 2007 - Patterns and regulation of dissolved organic carbo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\5WVT5HTP\\Sobek et al. - 2007 - Patterns and regulation of dissolved organic carbo.pdf:application/pdf}
-}
-
-@article{macander_regional_2017,
-	title = {Regional Quantitative Cover Mapping of Tundra Plant Functional Types in Arctic Alaska},
-	volume = {9},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/9/10/1024},
-	doi = {10.3390/rs9101024},
-	abstract = {Ecosystem maps are foundational tools that support multi-disciplinary study design and applications including wildlife habitat assessment, monitoring and Earth-system modeling. Here, we present continuous-ﬁeld cover maps for tundra plant functional types ({PFTs}) across {\textasciitilde}125,000 km2 of Alaska’s North Slope at 30-m resolution. To develop maps, we collected a ﬁeld-based training dataset using a point-intercept sampling method at 225 plots spanning bioclimatic and geomorphic gradients. We stratiﬁed vegetation by nine {PFTs} (e.g., low deciduous shrub, dwarf evergreen shrub, sedge, lichen) and summarized measurements of the {PFTs}, open water, bare ground and litter using the cover metrics total cover (areal cover including the understory) and top cover (uppermost canopy or ground cover). We then developed 73 spectral predictors derived from Landsat satellite observations (surface reﬂectance composites for {\textasciitilde}15-day periods from May–August) and ﬁve gridded environmental predictors (e.g., summer temperature, climatological snow-free date) to model cover of {PFTs} using the random forest data-mining algorithm. Model performance tended to be best for canopy-forming {PFTs}, particularly deciduous shrubs. Our assessment of predictor importance indicated that models for low-statured {PFTs} were improved through the use of seasonal composites from early and late in the growing season, particularly when similar {PFTs} were aggregated together (e.g., total deciduous shrub, herbaceous). Continuous-ﬁeld maps have many advantages over traditional thematic maps, and the methods described here are well-suited to support periodic map updates in tandem with future ﬁeld and Landsat observations.},
-	pages = {1024},
-	number = {10},
-	journaltitle = {Remote Sensing},
-	author = {Macander, Matthew and Frost, Gerald and Nelson, Peter and Swingley, Christopher},
-	urldate = {2018-10-11},
-	date = {2017-10-04},
-	langid = {english},
-	file = {Macander et al. - 2017 - Regional Quantitative Cover Mapping of Tundra Plan.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NLKZSHKX\\Macander et al. - 2017 - Regional Quantitative Cover Mapping of Tundra Plan.pdf:application/pdf}
-}
-
-@book{zazula_ice_2013,
-	location = {Whitehorse},
-	title = {Ice age Old Crow: Yukon's ancient history from north of the Arctic Circle},
-	isbn = {978-1-55362-634-3},
-	shorttitle = {Ice age Old Crow},
-	abstract = {"Introduction: The remote village of Old Crow is Yukon's only community north of the Arctic Circle. The fascinating ice age history in this region has captured the imaginations of scientists, the Vuntut Gwitchin and the world for generations. Bluffs and banks along the Old Crow River are the richest source of ice age fossils in Canada. The Old Crow region also provides important clues about when the first people arrived in North America. In addition, layers of sediment and soil laid down over millions of years provide a crucial framework for the study of climate change in the Arctic. Scientific evidence from the Old Crow region provides many answers - and even more questions - about the long-vanished ice age world. ... An integral part of the story of ice age research in the Old Crow region is the continued involvement of the Vuntut Gwitchin. Since ancient times they have encountered the fossils of strange ancient beasts as they traversed the land and travelled the river. The importance of these ancient fossils is reflected in stories told by elders about how life as they know it came to be. Since the first arrival of scientists more than a century ago, the local people of Old Crow have provided valuable assistance and taken the time to share their stories and culture. With the signing of land claims and self-government agreements in 1993 the Vuntut Gwitchin gained greater responsibility for the management of ancient artifacts and fossils on their land. As a result, the Vuntut Gwitchin Government ({VGG}) owns and manages all fossils and artifacts found since 1995 on Vuntut Gwitchin Settlement Land. The creation of Vuntut National Park in 1995 further highlighted the importance of ice age research in the Old Crow region to the people of Canada."--{ASTIS} [online] database.},
-	publisher = {Yukon Tourism and Culture},
-	author = {Zazula, Grant and Froese, Duane Gerald and Halladay, Patricia and {Yukon} and {Department of Tourism and Culture}},
-	date = {2013},
-	langid = {english},
-	note = {{OCLC}: 864275210},
-	file = {Zazula et al. - 2013 - Ice age Old Crow Yukon's ancient history from nor.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\8PR3KYD4\\Zazula et al. - 2013 - Ice age Old Crow Yukon's ancient history from nor.pdf:application/pdf}
-}
-
-@article{holden_identifying_2012,
-	title = {Identifying structural complexity in aeromagnetic data: An image analysis approach to greenfields gold exploration},
-	volume = {46},
-	issn = {01691368},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0169136811001454},
-	doi = {10.1016/j.oregeorev.2011.11.002},
-	shorttitle = {Identifying structural complexity in aeromagnetic data},
-	abstract = {Aeromagnetic data is important for the exploration of gold and other hydrothermal deposits because geologically favourable environments are associated with changes in rock magnetism. For example, Archean orogenic gold mineralisation is known to be present in areas of structural complexity near major shear-zones that form conduits for mineralising ﬂuids. Potential ﬂuid pathways such as shear zones and faults are often associated with magnetite destructive alteration resulting in linear negative anomalies in magnetic data. Here, we present a new image analysis method that identiﬁes geological structural complexity using lineaments automatically mapped within magnetic data. This quantitative analysis is efﬁcient and self consistent in dealing with large volumes of data, and is suitable as a ﬁrst-pass ground selection tool for orogenic gold exploration in greenﬁeld terrains.},
-	pages = {47--59},
-	journaltitle = {Ore Geology Reviews},
-	author = {Holden, Eun-Jung and Wong, Jason C. and Kovesi, Peter and Wedge, Daniel and Dentith, Mike and Bagas, Leon},
-	urldate = {2018-10-03},
-	date = {2012-08},
-	langid = {english},
-	file = {Holden et al. - 2012 - Identifying structural complexity in aeromagnetic .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\VUVAL6C8\\Holden et al. - 2012 - Identifying structural complexity in aeromagnetic .pdf:application/pdf}
-}
-
-@thesis{noauthor_aspler_nodate,
-	title = {Aspler - Geology of Nonacho Basin - {PhD} Thesis - 1985.pdf},
-	type = {phdthesis},
-	file = {Aspler - Geology of Nonacho Basin - PhD Thesis - 1985.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\H3EF6FNV\\Aspler - Geology of Nonacho Basin - PhD Thesis - 1985.pdf:application/pdf}
-}
-
-@article{tyren_lineament_nodate,
-	title = {Lineament interpretation Short review and methodology},
-	pages = {42},
-	author = {Tyrén, Sven},
-	langid = {english},
-	file = {Tyrén - Lineament interpretation Short review and methodol.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\IX2X2DS9\\Tyrén - Lineament interpretation Short review and methodol.pdf:application/pdf}
-}
-
-@article{middleton_geological_nodate,
-	title = {{GEOLOGICAL} {LINEAMENT} {INTERPRETATION} {USING} {THE} {OBJECT}-{BASED} {IMAGE} {ANALYSIS} {APPROACH}: {RESULTS} {OF} {SEMI}-{AUTOMATED} {ANALYSES} {VERSUS} {VISUAL} {INTERPRETATION}},
-	pages = {20},
-	author = {Middleton, Maarit and Schnur, Tilo and Sorjonen-Ward, Peter},
-	langid = {english},
-	file = {Middleton et al. - GEOLOGICAL LINEAMENT INTERPRETATION USING THE OBJE.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\CDZR88LQ\\Middleton et al. - GEOLOGICAL LINEAMENT INTERPRETATION USING THE OBJE.pdf:application/pdf}
-}
-
-@article{loranty_reviews_2018,
-	title = {Reviews and syntheses: Changing ecosystem influences on soil thermal regimes in northern high-latitude permafrost regions},
-	issn = {1810-6285},
-	url = {https://www.biogeosciences-discuss.net/bg-2018-201/},
-	doi = {10.5194/bg-2018-201},
-	shorttitle = {Reviews and syntheses},
-	pages = {1--56},
-	journaltitle = {Biogeosciences Discussions},
-	author = {Loranty, Michael M. and Abbott, Benjamin W. and Blok, Daan and Douglas, Thomas A. and Epstein, Howard E. and Forbes, Bruce C. and Jones, Benjamin M. and Kholodov, Alexander L. and Kropp, Heather and Malhotra, Avni and Mamet, Steven D. and Myers-Smith, Isla H. and Natali, Susan M. and O{\textbackslash}\&amp;apos;Donnell, Jonathan A. and Phoenix, Gareth K. and Rocha, Adrian V. and Sonnentag, Oliver and Tape, Ken D. and Walker, Donald A.},
-	urldate = {2018-09-17},
-	date = {2018-05-07},
-	langid = {english},
-	file = {Loranty et al. - 2018 - Reviews and syntheses Changing ecosystem influenc.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QM3WZTNY\\Loranty et al. - 2018 - Reviews and syntheses Changing ecosystem influenc.pdf:application/pdf}
-}
-
-@article{weymer_statistical_2018,
-	title = {Statistical modeling of the long-range-dependent structure of barrier island framework geology and surface geomorphology},
-	volume = {6},
-	issn = {2196-632X},
-	url = {https://www.earth-surf-dynam.net/6/431/2018/},
-	doi = {10.5194/esurf-6-431-2018},
-	abstract = {Shorelines exhibit long-range dependence ({LRD}) and have been shown in some environments to be described in the wave number domain by a power-law characteristic of scale independence. Recent evidence suggests that the geomorphology of barrier islands can, however, exhibit scale dependence as a result of systematic variations in the underlying framework geology. The {LRD} of framework geology, which inﬂuences island geomorphology and its response to storms and sea level rise, has not been previously examined. Electromagnetic induction ({EMI}) surveys conducted along Padre Island National Seashore ({PAIS}), Texas, United States, reveal that the {EMI} apparent conductivity (σa) signal and, by inference, the framework geology exhibits {LRD} at scales of up to 101 to 102 km. Our study demonstrates the utility of describing {EMI} σa and lidar spatial series by a fractional autoregressive integrated moving average ({ARIMA}) process that speciﬁcally models {LRD}. This method offers a robust and compact way of quantifying the geological variations along a barrier island shoreline using three statistical parameters (p, d, q). We discuss how {ARIMA} models that use a single parameter d provide a quantitative measure for determining free and forced barrier island evolutionary behavior across different scales. Statistical analyses at regional, intermediate, and local scales suggest that the geologic framework within an area of paleo-channels exhibits a ﬁrst-order control on dune height. The exchange of sediment amongst nearshore, beach, and dune in areas outside this region are scale independent, implying that barrier islands like {PAIS} exhibit a combination of free and forced behaviors that affect the response of the island to sea level rise.},
-	pages = {431--450},
-	number = {2},
-	journaltitle = {Earth Surface Dynamics},
-	author = {Weymer, Bradley A. and Wernette, Phillipe and Everett, Mark E. and Houser, Chris},
-	urldate = {2018-09-12},
-	date = {2018-06-01},
-	langid = {english},
-	file = {Weymer et al. - 2018 - Statistical modeling of the long-range-dependent s.PDF:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BXBDDUKW\\Weymer et al. - 2018 - Statistical modeling of the long-range-dependent s.PDF:application/pdf}
-}
-
-@article{park_influence_2012,
-	title = {The influence of climate and hydrological variables on opposite anomaly in active layer thickness between Eurasian and North American watersheds},
-	volume = {6},
-	issn = {1994-0440},
-	url = {http://www.the-cryosphere-discuss.net/6/2537/2012/},
-	doi = {10.5194/tcd-6-2537-2012},
-	pages = {2537--2574},
-	number = {4},
-	journaltitle = {The Cryosphere Discussions},
-	author = {Park, H. and Walsh, J. and Fedorov, A. N. and Sherstiukov, A. B. and Iijima, Y. and Ohata, T.},
-	urldate = {2018-09-10},
-	date = {2012-07-17},
-	langid = {english},
-	file = {Park et al. - 2012 - The influence of climate and hydrological variable.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\RVMGM4HC\\Park et al. - 2012 - The influence of climate and hydrological variable.pdf:application/pdf}
-}
-
-@article{morison_hydrology_nodate,
-	title = {Hydrology and Nutrient Biogeochemistry of Shallow Pond-Peatland Complexes, Hudson Bay Lowlands},
-	pages = {186},
-	author = {Morison, Matthew},
-	langid = {english},
-	file = {Morison - Hydrology and Nutrient Biogeochemistry of Shallow .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\9F8RG8VX\\Morison - Hydrology and Nutrient Biogeochemistry of Shallow .pdf:application/pdf}
-}
-
-@article{bolduc_multiyear_2018,
-	title = {Multiyear variations in High Arctic river temperatures in response to climate variability},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2017-0053},
-	doi = {10.1139/as-2017-0053},
-	abstract = {Water temperature measurements (2004–2016) from two small rivers in the High Arctic were analyzed to determine the effects of climate variability on thermal regime and the sensitivity to climate change. The East and West rivers (unofficial names) drain similar watersheds (11.6 and 8.0 km2, respectively) and are located at the Cape Bounty Arctic Watershed Observatory ({CBAWO}), Melville Island, Canada (74°55′N, 109°35′W). Differences in seasonal timing of river temperatures were evident when comparing the coldest and warmest years of the study period, and across different discharge conditions. Snowmelt runoff is characterized by uniformly cold water (∼0–1 °C) over a wide range of discharge conditions, followed by warming water temperatures during flow recession. The rivers showed varying sensitivity to mid-summer air temperature conditions in a given year, with warmer years indicating high correlation (r2 = 0.794–0.929), whereas colder years showed reduced correlation (r2 = 0.368–0.778). River temperatures reached levels which are reported to negatively affect fish and other cold-water aquatic species ({\textgreater}18 °C) with greater frequency and duration during the warmest years. These results provide a basis to further enhance prediction of river thermal conditions to assess ecosystem health in a river system and to refine insights into the effects of climate change on High Arctic aquatic ecosystems.},
-	pages = {1--19},
-	journaltitle = {Arctic Science},
-	author = {Bolduc, Christopher and Lamoureux, Scott F.},
-	urldate = {2018-09-02},
-	date = {2018-04-17},
-	langid = {english},
-	file = {Bolduc and Lamoureux - 2018 - Multiyear variations in High Arctic river temperat.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BR5SN5GZ\\Bolduc and Lamoureux - 2018 - Multiyear variations in High Arctic river temperat.pdf:application/pdf}
-}
-
-@article{matveev_methane_2018,
-	title = {Methane and carbon dioxide emissions from thermokarst lakes on mineral soils},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2017-0047},
-	doi = {10.1139/as-2017-0047},
-	abstract = {Thermokarst lakes are known to emit methane ({CH}4) and carbon dioxide ({CO}2), but little attention has been given to those formed from the thawing and collapse of lithalsas, ice-rich mineral soil mounds that occur in permafrost landscapes. The present study was undertaken to assess greenhouse gas stocks and fluxes in eight lithalsa lakes across a 200 km gradient of permafrost degradation in subarctic Québec. The northernmost lakes varied in their surface-water {CO}2 content from below to above saturation, but the southern lakes in this gradient had much higher surface concentrations that were well above airequilibrium. Surface-water {CH}4 concentrations were at least an order of magnitude above air-equilibrium values at all sites, and the diffusive fluxes of both gases increased from north to south. Methane oxidation in the surface waters from a northern lake was only 10\% of the emission rate, but at the southern end it was around 60\% of the efflux to the atmosphere, indicating that methanotrophy can play a substantive role in reducing net emissions. Overall, our observations show that lithalsa lakes can begin emitting {CH}4 and {CO}2 soon after they form, with effluxes of both gases that persist and increase as the permafrost continues to warm and erode.},
-	pages = {1--21},
-	journaltitle = {Arctic Science},
-	author = {Matveev, Alex and Laurion, Isabelle and Vincent, Warwick F.},
-	urldate = {2018-08-26},
-	date = {2018-05-17},
-	langid = {english},
-	file = {Matveev et al. - 2018 - Methane and carbon dioxide emissions from thermoka.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\5KIDBYHG\\Matveev et al. - 2018 - Methane and carbon dioxide emissions from thermoka.pdf:application/pdf}
-}
-
-@book{davis_permafrost:_2001,
-	location = {Fairbanks, Alaska},
-	title = {Permafrost: a guide to frozen ground in transition},
-	isbn = {978-1-889963-19-8},
-	shorttitle = {Permafrost},
-	pagetotal = {351},
-	publisher = {University of Alaska Press},
-	author = {Davis, T. Neil},
-	date = {2001},
-	keywords = {Permafrost}
-}
-
-@article{hindshaw_origin_2016,
-	title = {Origin and temporal variability of unusually low \textit{δ} $^{\textrm{13}}$ C-{DOC} values in two High Arctic catchments: {UNUSUALLY} {LOW} {\textless}i{\textgreater}δ{\textless}/i{\textgreater} $^{\textrm{13}}$ C-{DOC} {VALUES}},
-	volume = {121},
-	issn = {21698953},
-	url = {http://doi.wiley.com/10.1002/2015JG003303},
-	doi = {10.1002/2015JG003303},
-	shorttitle = {Origin and temporal variability of unusually low \textit{δ} $^{\textrm{13}}$ C-{DOC} values in two High Arctic catchments},
-	abstract = {The stable carbon isotopic composition of dissolved organic matter (������13C-{DOC}) reveals information about its source and extent of biological processing. Here we report the lowest ������13C-{DOC} values (−43.8‰) measured to date in surface waters. The streams were located in the High Arctic, a region currently experiencing rapid changes in climate and carbon cycling. Based on the widespread occurrence of methane cycling in permafrost regions and the detection of the {pmoA} gene, a proxy for aerobic methanotrophs, we conclude that the low ������13C-{DOC} values are due to organic matter partially derived from methanotrophs consuming biologically produced, 13C-depleted methane. These ﬁndings demonstrate the signiﬁcant impact that biological activity has on the stream water chemistry exported from permafrost and glaciated environments in the Arctic. Given that the catchments studied here are representative of larger areas of the Arctic, occurrences of low ������13C-{DOC} values may be more widespread than previously recognized, with implications for understanding C cycling in these environments.},
-	pages = {1073--1085},
-	number = {4},
-	journaltitle = {Journal of Geophysical Research: Biogeosciences},
-	author = {Hindshaw, R. S. and Lang, S. Q. and Bernasconi, S. M. and Heaton, T. H. E. and Lindsay, M. R. and Boyd, E. S.},
-	urldate = {2018-07-19},
-	date = {2016-04},
-	langid = {english},
-	file = {Hindshaw et al. - 2016 - Origin and temporal variability of unusually low .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\LWN5SYIG\\Hindshaw et al. - 2016 - Origin and temporal variability of unusually low .pdf:application/pdf}
-}
-
-@article{frey_impacts_2009,
-	title = {Impacts of permafrost degradation on arctic river biogeochemistry},
-	volume = {23},
-	issn = {08856087, 10991085},
-	url = {http://doi.wiley.com/10.1002/hyp.7196},
-	doi = {10.1002/hyp.7196},
-	abstract = {Over the next century, near-surface permafrost across the circumpolar Arctic is expected to degrade signiﬁcantly, particularly for land areas south of 70°N. This is likely to cause widespread impacts on arctic hydrology, ecology, and trace gas emissions. Here, we present a review of recent studies investigating linkages between permafrost dynamics and river biogeochemistry in the Arctic, including consideration of likely impacts that warming-induced changes in permafrost may be having (or will have in the future) on the delivery of organic matter, inorganic nutrients, and major ions to the Arctic Ocean. These interacting processes can be highly complex and undoubtedly exhibit spatial and temporal variabilities associated with current permafrost conditions, sensitivity to permafrost thaw, mode of permafrost degradation (overall permafrost thaw, active layer deepening, and/or thermokarst processes), and environmental characteristics of watersheds (e.g. land cover, soil type, and topography). One of the most profound consequences of permafrost thaw projected for the future is that the arctic terrestrial freshwater system is likely to experience a transition from a surface water-dominated system to a groundwater-dominated system. Along with many other cascading impacts from this transition, mineral-rich groundwater may become an important contributor to streamﬂow, in addition to the currently dominant contribution from mineral-poor surface water. Most studies observe or predict an increase in major ion, phosphate, and silicate export with this shift towards greater groundwater contributions. However, we see conﬂicting accounts of whether the delivery of inorganic nitrogen and organic matter will increase or decrease with warming and permafrost thaw. It is important to note that uncertainties in the predictions of the total ﬂux of biogeochemical constituents are tightly linked to future uncertainties in discharge of rivers. Nonetheless, it is clear that over the next century there will be important shifts in the river transport of organic matter, inorganic nutrients, and major ions, which may in turn have critical implications for primary production and carbon cycling on arctic shelves and in the Arctic Ocean basin interior. Copyright  2008 John Wiley \& Sons, Ltd.},
-	pages = {169--182},
-	number = {1},
-	journaltitle = {Hydrological Processes},
-	author = {Frey, Karen E. and {McClelland}, James W.},
-	urldate = {2018-07-17},
-	date = {2009-01-01},
-	langid = {english},
-	file = {Frey and McClelland - 2009 - Impacts of permafrost degradation on arctic river .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\VGHCAHGV\\Frey and McClelland - 2009 - Impacts of permafrost degradation on arctic river .pdf:application/pdf}
-}
-
-@article{vonk_reviews_2015,
-	title = {Reviews and syntheses: Effects of permafrost thaw on Arctic aquatic ecosystems},
-	volume = {12},
-	issn = {1726-4189},
-	url = {https://www.biogeosciences.net/12/7129/2015/},
-	doi = {10.5194/bg-12-7129-2015},
-	shorttitle = {Reviews and syntheses},
-	pages = {7129--7167},
-	number = {23},
-	journaltitle = {Biogeosciences},
-	author = {Vonk, J. E. and Tank, S. E. and Bowden, W. B. and Laurion, I. and Vincent, W. F. and Alekseychik, P. and Amyot, M. and Billet, M. F. and Canário, J. and Cory, R. M. and Deshpande, B. N. and Helbig, M. and Jammet, M. and Karlsson, J. and Larouche, J. and {MacMillan}, G. and Rautio, M. and Walter Anthony, K. M. and Wickland, K. P.},
-	urldate = {2018-07-17},
-	date = {2015-12-08},
-	langid = {english},
-	file = {Vonk et al. - 2015 - Reviews and syntheses Effects of permafrost thaw .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\FP89SUHS\\Vonk et al. - 2015 - Reviews and syntheses Effects of permafrost thaw .pdf:application/pdf}
-}
-
-@article{waldrop_molecular_2010,
-	title = {Molecular investigations into a globally important carbon pool: permafrost-protected carbon in Alaskan soils},
-	volume = {16},
-	issn = {1365-2486},
-	url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2486.2009.02141.x},
-	doi = {10.1111/j.1365-2486.2009.02141.x},
-	shorttitle = {Molecular investigations into a globally important carbon pool},
-	abstract = {The fate of carbon (C) contained within permafrost in boreal forest environments is an important consideration for the current and future carbon cycle as soils warm in northern latitudes. Currently, little is known about the microbiology or chemistry of permafrost soils that may affect its decomposition once soils thaw. We tested the hypothesis that low microbial abundances and activities in permafrost soils limit decomposition rates compared with active layer soils. We examined active layer and permafrost soils near Fairbanks, {AK}, the Yukon River, and the Arctic Circle. Soils were incubated in the lab under aerobic and anaerobic conditions. Gas fluxes at −5 and 5 °C were measured to calculate temperature response quotients (Q10). The Q10 was lower in permafrost soils (average 2.7) compared with active layer soils (average 7.5). Soil nutrients, leachable dissolved organic C ({DOC}) quality and quantity, and nuclear magnetic resonance spectroscopy of the soils revealed that the organic matter within permafrost soils is as labile, or even more so, than surface soils. Microbial abundances (fungi, bacteria, and subgroups: methanogens and Basidiomycetes) and exoenzyme activities involved in decomposition were lower in permafrost soils compared with active layer soils, which, together with the chemical data, supports the reduced Q10 values. {CH}4 fluxes were correlated with methanogen abundance and the highest {CH}4 production came from active layer soils. These results suggest that permafrost soils have high inherent decomposability, but low microbial abundances and activities reduce the temperature sensitivity of C fluxes. Despite these inherent limitations, however, respiration per unit soil C was higher in permafrost soils compared with active layer soils, suggesting that decomposition and heterotrophic respiration may contribute to a positive feedback to warming of this eco region.},
-	pages = {2543--2554},
-	number = {9},
-	journaltitle = {Global Change Biology},
-	author = {Waldrop, M. P. and Wickland, K. P. and Iii, R. White and Berhe, A. A. and Harden, J. W. and Romanovsky, V. E.},
-	urldate = {2018-07-17},
-	date = {2010},
-	langid = {english},
-	keywords = {carbon cycling, enzymes, methanogenesis, microbial communities, permafrost, respiration},
-	file = {Waldrop et al. - Molecular investigations into a globally important.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\FMFNECBB\\Waldrop et al. - Molecular investigations into a globally important.pdf:application/pdf}
-}
-
-@article{drake_ancient_2015,
-	title = {Ancient low–molecular-weight organic acids in permafrost fuel rapid carbon dioxide production upon thaw},
-	volume = {112},
-	issn = {0027-8424, 1091-6490},
-	url = {http://www.pnas.org/lookup/doi/10.1073/pnas.1511705112},
-	doi = {10.1073/pnas.1511705112},
-	pages = {13946--13951},
-	number = {45},
-	journaltitle = {Proceedings of the National Academy of Sciences},
-	author = {Drake, Travis W. and Wickland, Kimberly P. and Spencer, Robert G. M. and {McKnight}, Diane M. and Striegl, Robert G.},
-	urldate = {2018-07-17},
-	date = {2015-11-10},
-	langid = {english},
-	file = {Drake et al. - 2015 - Ancient low–molecular-weight organic acids in perm.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QH32PI44\\Drake et al. - 2015 - Ancient low–molecular-weight organic acids in perm.pdf:application/pdf}
-}
-
-@article{wickland_dissolved_2007,
-	title = {Dissolved Organic Carbon in Alaskan Boreal Forest: Sources, Chemical Characteristics, and Biodegradability},
-	volume = {10},
-	issn = {1432-9840, 1435-0629},
-	url = {http://link.springer.com/10.1007/s10021-007-9101-4},
-	doi = {10.1007/s10021-007-9101-4},
-	shorttitle = {Dissolved Organic Carbon in Alaskan Boreal Forest},
-	pages = {1323--1340},
-	number = {8},
-	journaltitle = {Ecosystems},
-	author = {Wickland, Kimberly P. and Neff, Jason C. and Aiken, George R.},
-	urldate = {2018-07-17},
-	date = {2007-12},
-	langid = {english},
-	file = {Wickland et al. - 2007 - Dissolved Organic Carbon in Alaskan Boreal Forest.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\EEKLIR9K\\Wickland et al. - 2007 - Dissolved Organic Carbon in Alaskan Boreal Forest.pdf:application/pdf}
-}
-
-@article{schuur_expert_2013,
-	title = {Expert assessment of vulnerability of permafrost carbon to climate change},
-	volume = {119},
-	issn = {0165-0009, 1573-1480},
-	url = {http://link.springer.com/10.1007/s10584-013-0730-7},
-	doi = {10.1007/s10584-013-0730-7},
-	pages = {359--374},
-	number = {2},
-	journaltitle = {Climatic Change},
-	author = {Schuur, E. A. G. and Abbott, B. W. and Bowden, W. B. and Brovkin, V. and Camill, P. and Canadell, J. G. and Chanton, J. P. and Chapin, F. S. and Christensen, T. R. and Ciais, P. and Crosby, B. T. and Czimczik, C. I. and Grosse, G. and Harden, J. and Hayes, D. J. and Hugelius, G. and Jastrow, J. D. and Jones, J. B. and Kleinen, T. and Koven, C. D. and Krinner, G. and Kuhry, P. and Lawrence, D. M. and {McGuire}, A. D. and Natali, S. M. and O’Donnell, J. A. and Ping, C. L. and Riley, W. J. and Rinke, A. and Romanovsky, V. E. and Sannel, A. B. K. and Schädel, C. and Schaefer, K. and Sky, J. and Subin, Z. M. and Tarnocai, C. and Turetsky, M. R. and Waldrop, M. P. and Walter Anthony, K. M. and Wickland, K. P. and Wilson, C. J. and Zimov, S. A.},
-	urldate = {2018-07-17},
-	date = {2013-07},
-	langid = {english},
-	file = {Schuur et al. - 2013 - Expert assessment of vulnerability of permafrost c.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\T3XQGA86\\Schuur et al. - 2013 - Expert assessment of vulnerability of permafrost c.pdf:application/pdf}
-}
-
-@article{grosse_vulnerability_nodate,
-	title = {Vulnerability of high-latitude soil organic carbon in North America to disturbance},
-	volume = {116},
-	issn = {2156-2202},
-	url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2010JG001507},
-	doi = {10.1029/2010JG001507},
-	abstract = {This synthesis addresses the vulnerability of the North American high-latitude soil organic carbon ({SOC}) pool to climate change. Disturbances caused by climate warming in arctic, subarctic, and boreal environments can result in significant redistribution of C among major reservoirs with potential global impacts. We divide the current northern high-latitude {SOC} pools into (1) near-surface soils where {SOC} is affected by seasonal freeze-thaw processes and changes in moisture status, and (2) deeper permafrost and peatland strata down to several tens of meters depth where {SOC} is usually not affected by short-term changes. We address key factors (permafrost, vegetation, hydrology, paleoenvironmental history) and processes (C input, storage, decomposition, and output) responsible for the formation of the large high-latitude {SOC} pool in North America and highlight how climate-related disturbances could alter this pool's character and size. Press disturbances of relatively slow but persistent nature such as top-down thawing of permafrost, and changes in hydrology, microbiological communities, pedological processes, and vegetation types, as well as pulse disturbances of relatively rapid and local nature such as wildfires and thermokarst, could substantially impact {SOC} stocks. Ongoing climate warming in the North American high-latitude region could result in crossing environmental thresholds, thereby accelerating press disturbances and increasingly triggering pulse disturbances and eventually affecting the C source/sink net character of northern high-latitude soils. Finally, we assess postdisturbance feedbacks, models, and predictions for the northern high-latitude {SOC} pool, and discuss data and research gaps to be addressed by future research.},
-	issue = {G4},
-	journaltitle = {Journal of Geophysical Research: Biogeosciences},
-	author = {Grosse, Guido and Harden, Jennifer and Turetsky, Merritt and {McGuire}, A. David and Camill, Philip and Tarnocai, Charles and Frolking, Steve and Schuur, Edward A. G. and Jorgenson, Torre and Marchenko, Sergei and Romanovsky, Vladimir and Wickland, Kimberly P. and French, Nancy and Waldrop, Mark and Bourgeau‐Chavez, Laura and Striegl, Robert G.},
-	urldate = {2018-07-17},
-	langid = {english},
-	keywords = {permafrost, disturbance, high latitudes, North America, peatlands, soil carbon},
-	file = {Grosse et al. - Vulnerability of high-latitude soil organic carbon.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\PSCLLGST\\Grosse et al. - Vulnerability of high-latitude soil organic carbon.pdf:application/pdf}
-}
-
-@article{striegl_carbon_2007,
-	title = {Carbon export and cycling by the Yukon, Tanana, and Porcupine rivers, Alaska, 2001-2005: {YUKON} {BASIN} {CARBON} {EXPORT}},
-	volume = {43},
-	issn = {00431397},
-	url = {http://doi.wiley.com/10.1029/2006WR005201},
-	doi = {10.1029/2006WR005201},
-	shorttitle = {Carbon export and cycling by the Yukon, Tanana, and Porcupine rivers, Alaska, 2001-2005},
-	number = {2},
-	journaltitle = {Water Resources Research},
-	author = {Striegl, Robert G. and Dornblaser, Mark M. and Aiken, George R. and Wickland, Kimberly P. and Raymond, Peter A.},
-	urldate = {2018-07-17},
-	date = {2007-02},
-	langid = {english},
-	file = {Striegl et al. - 2007 - Carbon export and cycling by the Yukon, Tanana, an.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4WV5PGZB\\Striegl et al. - 2007 - Carbon export and cycling by the Yukon, Tanana, an.pdf:application/pdf}
-}
-
-@article{striegl_carbon_2001,
-	title = {Carbon dioxide partial pressure and 13C content of north temperate and boreal lakes at spring ice melt},
-	volume = {46},
-	issn = {00243590},
-	url = {http://doi.wiley.com/10.4319/lo.2001.46.4.0941},
-	doi = {10.4319/lo.2001.46.4.0941},
-	pages = {941--945},
-	number = {4},
-	journaltitle = {Limnology and Oceanography},
-	author = {Striegl, Robert G. and Kortelainen, Pirkko and Chanton, Jeffrey P. and Wickland, Kimberly P. and Bugna, Glynnis C. and Rantakari, Miitta},
-	urldate = {2018-07-17},
-	date = {2001-06},
-	langid = {english},
-	file = {Striegl et al. - 2001 - Carbon dioxide partial pressure and 13C content of.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZACPZD3B\\Striegl et al. - 2001 - Carbon dioxide partial pressure and 13C content of.pdf:application/pdf}
-}
-
-@article{matveev_methane_2018-1,
-	title = {Methane and carbon dioxide emissions from thermokarst lakes on mineral soils},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2017-0047},
-	doi = {10.1139/as-2017-0047},
-	abstract = {Thermokarst lakes are known to emit methane ({CH}4) and carbon dioxide ({CO}2), but little attention has been given to those formed from the thawing and collapse of lithalsas, ice-rich mineral soil mounds that occur in permafrost landscapes. The present study was undertaken to assess greenhouse gas stocks and fluxes in eight lithalsa lakes across a 200 km gradient of permafrost degradation in subarctic Québec. The northernmost lakes varied in their surface-water {CO}2 content from below to above saturation, but the southern lakes in this gradient had much higher surface concentrations that were well above airequilibrium. Surface-water {CH}4 concentrations were at least an order of magnitude above air-equilibrium values at all sites, and the diffusive fluxes of both gases increased from north to south. Methane oxidation in the surface waters from a northern lake was only 10\% of the emission rate, but at the southern end it was around 60\% of the efflux to the atmosphere, indicating that methanotrophy can play a substantive role in reducing net emissions. Overall, our observations show that lithalsa lakes can begin emitting {CH}4 and {CO}2 soon after they form, with effluxes of both gases that persist and increase as the permafrost continues to warm and erode.},
-	pages = {1--21},
-	journaltitle = {Arctic Science},
-	author = {Matveev, Alex and Laurion, Isabelle and Vincent, Warwick F.},
-	urldate = {2018-07-13},
-	date = {2018-05-17},
-	langid = {english},
-	file = {Matveev et al. - 2018 - Methane and carbon dioxide emissions from thermoka.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\R7AE2NU6\\Matveev et al. - 2018 - Methane and carbon dioxide emissions from thermoka.pdf:application/pdf}
-}
-
-@article{brown_thermal_2010,
-	title = {The Thermal State of Permafrost: the {IPY}- {IPA} snapshot (2007-2009)},
-	abstract = {During the International Polar Year ({IPY}) the International Permafrost Association ({IPA}) coordinated the acquisition of standardized permafrost temperatures data (snapshot) under the Thermal State of Permafrost ({TSP}) Project. The current network consists of more than 860 boreholes in both hemispheres with more than 25 participating countries. The vast majority of sites are equipped for long-term permafrost temperature observations. A borehole inventory including mean annual ground temperatures for 600 boreholes (snapshot) is available online.},
-	pages = {7},
-	author = {Brown, Jerry and Kholodov, Alexander and Romanovsky, Vladimir and Yoshikawa, Kenji and Smith, Sharon L and Christiansen, Hanne H and Vieira, Goncalo and Noetzli, Jeannette},
-	date = {2010},
-	langid = {english},
-	file = {Brown et al. - The Thermal State of Permafrost the IPY- IPA snap.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\87EWNZZY\\Brown et al. - The Thermal State of Permafrost the IPY- IPA snap.pdf:application/pdf}
-}
-
-@article{romanovsky_permafrost_2010,
-	title = {Permafrost thermal state in the polar Northern Hemisphere during the international polar year 2007-2009: a synthesis},
-	volume = {21},
-	issn = {10456740, 10991530},
-	url = {http://doi.wiley.com/10.1002/ppp.689},
-	doi = {10.1002/ppp.689},
-	shorttitle = {Permafrost thermal state in the polar Northern Hemisphere during the international polar year 2007-2009},
-	abstract = {The permafrost monitoring network in the polar regions of the Northern Hemisphere was enhanced during the International Polar Year ({IPY}), and new information on permafrost thermal state was collected for regions where there was little available. This augmented monitoring network is an important legacy of the {IPY}, as is the updated baseline of current permafrost conditions against which future changes may be measured. Within the Northern Hemisphere polar region, ground temperatures are currently being measured in about 575 boreholes in North America, the Nordic region and Russia. These show that in the discontinuous permafrost zone, permafrost temperatures fall within a narrow range, with the mean annual ground temperature ({MAGT}) at most sites being higher than À28C. A greater range in {MAGT} is present within the continuous permafrost zone, from above À18C at some locations to as low as À158C. The latest results indicate that the permafrost warming which started two to three decades ago has generally continued into the {IPY} period. Warming rates are much smaller for permafrost already at temperatures close to 08C compared with colder permafrost, especially for ice-rich permafrost where latent heat effects dominate the ground thermal regime. Colder permafrost sites are warming more rapidly. This improved knowledge about the permafrost thermal state and its dynamics is important for multidisciplinary polar research, but also for many of the 4 million people living in the Arctic. In particular, this knowledge is required for designing effective adaptation strategies for the local communities under warmer climatic conditions. Copyright \# 2010 John Wiley \& Sons, Ltd.},
-	pages = {106--116},
-	number = {2},
-	journaltitle = {Permafrost and Periglacial Processes},
-	author = {Romanovsky, Vladimir E. and Smith, Sharon L. and Christiansen, Hanne H.},
-	urldate = {2018-07-12},
-	date = {2010-06-08},
-	langid = {english},
-	file = {Romanovsky et al. - 2010 - Permafrost thermal state in the polar Northern Hem.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\VIRP59D7\\Romanovsky et al. - 2010 - Permafrost thermal state in the polar Northern Hem.pdf:application/pdf}
-}
-
-@article{zimov_permafrost_2006,
-	title = {Permafrost and the Global Carbon Budget},
-	volume = {312},
-	issn = {0036-8075, 1095-9203},
-	url = {http://www.sciencemag.org/cgi/doi/10.1126/science.1128908},
-	doi = {10.1126/science.1128908},
-	shorttitle = {{CLIMATE} {CHANGE}},
-	pages = {1612--1613},
-	number = {5780},
-	journaltitle = {Science},
-	author = {Zimov, S. A.},
-	urldate = {2018-07-12},
-	date = {2006-06-16},
-	langid = {english},
-	file = {Zimov - 2006 - CLIMATE CHANGE Permafrost and the Global Carbon B.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\F7N376ZX\\Zimov - 2006 - CLIMATE CHANGE Permafrost and the Global Carbon B.pdf:application/pdf}
-}
-
-@article{zimov_permafrost_2006-1,
-	title = {Permafrost carbon: Stock and decomposability of a globally significant carbon pool},
-	volume = {33},
-	issn = {0094-8276},
-	url = {http://doi.wiley.com/10.1029/2006GL027484},
-	doi = {10.1029/2006GL027484},
-	shorttitle = {Permafrost carbon},
-	number = {20},
-	journaltitle = {Geophysical Research Letters},
-	author = {Zimov, S. A. and Davydov, S. P. and Zimova, G. M. and Davydova, A. I. and Schuur, E. A. G. and Dutta, K. and Chapin, F. S.},
-	urldate = {2018-07-12},
-	date = {2006-10-27},
-	langid = {english},
-	file = {Zimov et al. - 2006 - Permafrost carbon Stock and decomposability of a .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\V28TVFWE\\Zimov et al. - 2006 - Permafrost carbon Stock and decomposability of a .pdf:application/pdf}
-}
-
-@article{schuur_effect_2009,
-	title = {The effect of permafrost thaw on old carbon release and net carbon exchange from tundra},
-	volume = {459},
-	issn = {0028-0836, 1476-4687},
-	url = {http://www.nature.com/articles/nature08031},
-	doi = {10.1038/nature08031},
-	pages = {556--559},
-	number = {7246},
-	journaltitle = {Nature},
-	author = {Schuur, Edward A. G. and Vogel, Jason G. and Crummer, Kathryn G. and Lee, Hanna and Sickman, James O. and Osterkamp, T. E.},
-	urldate = {2018-07-12},
-	date = {2009-05},
-	langid = {english},
-	file = {Schuur et al. - 2009 - The effect of permafrost thaw on old carbon releas.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\YRBJYIWH\\Schuur et al. - 2009 - The effect of permafrost thaw on old carbon releas.pdf:application/pdf}
-}
-
-@article{tarnocai_soil_2009,
-	title = {Soil organic carbon pools in the northern circumpolar permafrost region: {SOIL} {ORGANIC} {CARBON} {POOLS}},
-	volume = {23},
-	issn = {08866236},
-	url = {http://doi.wiley.com/10.1029/2008GB003327},
-	doi = {10.1029/2008GB003327},
-	shorttitle = {Soil organic carbon pools in the northern circumpolar permafrost region},
-	pages = {n/a--n/a},
-	number = {2},
-	journaltitle = {Global Biogeochemical Cycles},
-	author = {Tarnocai, C. and Canadell, J. G. and Schuur, E. A. G. and Kuhry, P. and Mazhitova, G. and Zimov, S.},
-	urldate = {2018-07-12},
-	date = {2009-06},
-	langid = {english},
-	file = {Tarnocai et al. - 2009 - Soil organic carbon pools in the northern circumpo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\2FYYA39I\\Tarnocai et al. - 2009 - Soil organic carbon pools in the northern circumpo.pdf:application/pdf}
-}
-
-@article{schaefer_impact_2014,
-	title = {The impact of the permafrost carbon feedback on global climate},
-	volume = {9},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/9/i=8/a=085003?key=crossref.30cf8c5adeaa54d6e76392833f9bc72e},
-	doi = {10.1088/1748-9326/9/8/085003},
-	abstract = {Degrading permafrost can alter ecosystems, damage infrastructure, and release enough carbon dioxide ({CO}2) and methane ({CH}4) to inﬂuence global climate. The permafrost carbon feedback ({PCF}) is the ampliﬁcation of surface warming due to {CO}2 and {CH}4 emissions from thawing permafrost. An analysis of available estimates {PCF} strength and timing indicate 120 ± 85 Gt of carbon emissions from thawing permafrost by 2100. This is equivalent to 5.7 ± 4.0\% of total anthropogenic emissions for the Intergovernmental Panel on Climate Change ({IPCC}) representative concentration pathway ({RCP}) 8.5 scenario and would increase global temperatures by 0.29 ± 0.21 °C or 7.8 ± 5.7\%. For {RCP}4.5, the scenario closest to the 2 °C warming target for the climate change treaty, the range of cumulative emissions in 2100 from thawing permafrost decreases to between 27 and 100 Gt C with temperature increases between 0.05 and 0.15 °C, but the relative fraction of permafrost to total emissions increases to between 3\% and 11\%. Any substantial warming results in a committed, long-term carbon release from thawing permafrost with 60\% of emissions occurring after 2100, indicating that not accounting for permafrost emissions risks overshooting the 2 °C warming target. Climate projections in the {IPCC} Fifth Assessment Report ({AR}5), and any emissions targets based on those projections, do not adequately account for emissions from thawing permafrost and the effects of the {PCF} on global climate. We recommend the {IPCC} commission a special assessment focusing on the {PCF} and its impact on global climate to supplement the {AR}5 in support of treaty negotiation.},
-	pages = {085003},
-	number = {8},
-	journaltitle = {Environmental Research Letters},
-	author = {Schaefer, Kevin and Lantuit, Hugues and Romanovsky, Vladimir E and Schuur, Edward A G and Witt, Ronald},
-	urldate = {2018-07-12},
-	date = {2014-08-01},
-	langid = {english},
-	file = {Schaefer et al. - 2014 - The impact of the permafrost carbon feedback on gl.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QZWSMAJF\\Schaefer et al. - 2014 - The impact of the permafrost carbon feedback on gl.pdf:application/pdf}
-}
-
-@article{raymond_global_2013,
-	title = {Global carbon dioxide emissions from inland waters},
-	volume = {503},
-	issn = {0028-0836, 1476-4687},
-	url = {http://www.nature.com/articles/nature12760},
-	doi = {10.1038/nature12760},
-	pages = {355--359},
-	number = {7476},
-	journaltitle = {Nature},
-	author = {Raymond, Peter A. and Hartmann, Jens and Lauerwald, Ronny and Sobek, Sebastian and {McDonald}, Cory and Hoover, Mark and Butman, David and Striegl, Robert and Mayorga, Emilio and Humborg, Christoph and Kortelainen, Pirkko and Dürr, Hans and Meybeck, Michel and Ciais, Philippe and Guth, Peter},
-	urldate = {2018-07-11},
-	date = {2013-11},
-	langid = {english},
-	file = {Raymond et al. - 2013 - Global carbon dioxide emissions from inland waters.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\XA6S3BWZ\\Raymond et al. - 2013 - Global carbon dioxide emissions from inland waters.pdf:application/pdf}
-}
-
-@article{tank_landscape-level_2012,
-	title = {Landscape-level controls on dissolved carbon flux from diverse catchments of the circumboreal: {DISSOLVED} {CARBON} {FLUX} {FROM} {BOREAL} {RIVERS}},
-	volume = {26},
-	issn = {08866236},
-	url = {http://doi.wiley.com/10.1029/2012GB004299},
-	doi = {10.1029/2012GB004299},
-	shorttitle = {Landscape-level controls on dissolved carbon flux from diverse catchments of the circumboreal},
-	pages = {n/a--n/a},
-	number = {4},
-	journaltitle = {Global Biogeochemical Cycles},
-	author = {Tank, Suzanne E. and Frey, Karen E. and Striegl, Robert G. and Raymond, Peter A. and Holmes, Robert M. and {McClelland}, James W. and Peterson, Bruce J.},
-	urldate = {2018-07-10},
-	date = {2012-12},
-	langid = {english},
-	file = {Tank et al. - 2012 - Landscape-level controls on dissolved carbon flux .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\22AQP5MM\\Tank et al. - 2012 - Landscape-level controls on dissolved carbon flux .pdf:application/pdf}
-}
-
-@article{tank_land--ocean_2012,
-	title = {A land-to-ocean perspective on the magnitude, source and implication of {DIC} flux from major Arctic rivers to the Arctic Ocean: {ARCTIC} {RIVER} {DIC}},
-	volume = {26},
-	issn = {08866236},
-	url = {http://doi.wiley.com/10.1029/2011GB004192},
-	doi = {10.1029/2011GB004192},
-	shorttitle = {A land-to-ocean perspective on the magnitude, source and implication of {DIC} flux from major Arctic rivers to the Arctic Ocean},
-	pages = {n/a--n/a},
-	number = {4},
-	journaltitle = {Global Biogeochemical Cycles},
-	author = {Tank, Suzanne E. and Raymond, Peter A. and Striegl, Robert G. and {McClelland}, James W. and Holmes, Robert M. and Fiske, Greg J. and Peterson, Bruce J.},
-	urldate = {2018-07-10},
-	date = {2012-12},
-	langid = {english},
-	file = {Tank et al. - 2012 - A land-to-ocean perspective on the magnitude, sour.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\JZ6UWCEK\\Tank et al. - 2012 - A land-to-ocean perspective on the magnitude, sour.pdf:application/pdf}
-}
-
-@article{olefeldt_permafrost_2014,
-	title = {Permafrost conditions in peatlands regulate magnitude, timing, and chemical composition of catchment dissolved organic carbon export},
-	volume = {20},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.12607},
-	doi = {10.1111/gcb.12607},
-	abstract = {Permafrost thaw in peatlands has the potential to alter catchment export of dissolved organic carbon ({DOC}) and thus inﬂuence downstream aquatic C cycling. Subarctic peatlands are often mosaics of different peatland types, where permafrost conditions regulate the hydrological setting of each type. We show that hydrological setting is key to observed differences in magnitude, timing, and chemical composition of {DOC} export between permafrost and nonpermafrost peatland types, and that these differences inﬂuence the export of {DOC} of larger catchments even when peatlands are minor catchment components. In many aspects, {DOC} export from a studied peatland permafrost plateau was similar to that of a forested upland catchment. Similarities included low annual export (2–3 g C {mÀ}2) dominated by the snow melt period ({\textasciitilde}70\%), and how substantial {DOC} export following storms required wet antecedent conditions. Conversely, nonpermafrost fens had higher {DOC} export (7 g C {mÀ}2), resulting from sustained hydrological connectivity during summer. Chemical composition of catchment {DOC} export arose from the mixing of highly aromatic {DOC} from organic soils from permafrost plateau soil water and upland forest surface horizons with nonaromatic {DOC} from mineral soil groundwater, but was further modulated by fens. Increasing aromaticity from fen inﬂow to outlet was substantial and depended on both water residence time and water temperature. The role of fens as catchment biogeochemical hotspots was further emphasized by their capacity for sulfate retention. As a result of fen characteristics, a 4\% fen cover in a mixed catchment was responsible for 34\% higher {DOC} export, 50\% higher {DOC} concentrations and {\textasciitilde}10\% higher {DOC} aromaticity at the catchment outlet during summer compared to a nonpeatland upland catchment. Expansion of fens due to thaw thus has potential to inﬂuence landscape C cycling by increasing fen capacity to act as biogeochemical hotspots, amplifying aquatic C cycling, and increasing catchment {DOC} export.},
-	pages = {3122--3136},
-	number = {10},
-	journaltitle = {Global Change Biology},
-	author = {Olefeldt, David and Roulet, Nigel T.},
-	urldate = {2018-07-10},
-	date = {2014-10},
-	langid = {english},
-	file = {Olefeldt and Roulet - 2014 - Permafrost conditions in peatlands regulate magnit.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\AG4JVWK5\\Olefeldt and Roulet - 2014 - Permafrost conditions in peatlands regulate magnit.pdf:application/pdf}
-}
-
-@article{helbig_direct_2017,
-	title = {Direct and indirect climate change effects on carbon dioxide fluxes in a thawing boreal forest-wetland landscape},
-	volume = {23},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.13638},
-	doi = {10.1111/gcb.13638},
-	abstract = {In the sporadic permafrost zone of northwestern Canada, boreal forest carbon dioxide ({CO}2) ﬂuxes will be altered directly by climate change through changing meteorological forcing and indirectly through changes in landscape functioning associated with thaw-induced collapse-scar bog (‘wetland’) expansion. However, their combined effect on landscape-scale net ecosystem {CO}2 exchange ({NEELAND}), resulting from changing gross primary productivity ({GPP}) and ecosystem respiration ({ER}), remains unknown. Here, we quantify indirect land cover change impacts on {NEELAND} and direct climate change impacts on modeled temperature- and light-limited {NEELAND} of a boreal forest–wetland landscape. Using nested eddy covariance ﬂux towers, we ﬁnd both {GPP} and {ER} to be larger at the landscape compared to the wetland level. However, annual {NEELAND} (À20 g C {mÀ}2) and wetland {NEE} (À24 g C {mÀ}2) were similar, suggesting negligible wetland expansion effects on {NEELAND}. In contrast, we ﬁnd non-negligible direct climate change impacts when modeling {NEELAND} using projected air temperature and incoming shortwave radiation. At the end of the 21st century, modeled {GPP} mainly increases in spring and fall due to reduced temperature limitation, but becomes more frequently light-limited in fall. In a warmer climate, {ER} increases year-round in the absence of moisture stress resulting in net {CO}2 uptake increases in the shoulder seasons and decreases during the summer. Annually, landscape net {CO}2 uptake is projected to decline by 25 Æ 14 g C {mÀ}2 for a moderate and 103 Æ 38 g C {mÀ}2 for a high warming scenario, potentially reversing recently observed positive net {CO}2 uptake trends across the boreal biome. Thus, even without moisture stress, net {CO}2 uptake of boreal forest–wetland landscapes may decline, and ultimately, these landscapes may turn into net {CO}2 sources under continued anthropogenic {CO}2 emissions. We conclude that {NEELAND} changes are more likely to be driven by direct climate change rather than by indirect land cover change impacts.},
-	pages = {3231--3248},
-	number = {8},
-	journaltitle = {Global Change Biology},
-	author = {Helbig, Manuel and Chasmer, Laura E. and Desai, Ankur R. and Kljun, Natascha and Quinton, William L. and Sonnentag, Oliver},
-	urldate = {2018-07-10},
-	date = {2017-08},
-	langid = {english},
-	file = {Helbig et al. - 2017 - Direct and indirect climate change effects on carb.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\8E5C5R6X\\Helbig et al. - 2017 - Direct and indirect climate change effects on carb.pdf:application/pdf}
-}
-
-@article{jantze_subsurface_2013,
-	title = {Subsurface release and transport of dissolved carbon in a discontinuous permafrost region},
-	volume = {17},
-	issn = {1607-7938},
-	url = {https://www.hydrol-earth-syst-sci.net/17/3827/2013/},
-	doi = {10.5194/hess-17-3827-2013},
-	abstract = {Subsurface hydrological ﬂow pathways and advection rates through the landscape affect the quantity and timing of hydrological transport of dissolved carbon. This study investigates hydrological carbon transport through the subsurface to streams and how it is affected by the distribution of subsurface hydrological pathways and travel times through the landscape. We develop a consistent mechanistic, pathway- and travel time-based modeling approach for release and transport of dissolved organic carbon ({DOC}) and dissolved inorganic carbon ({DIC}). The model implications are tested against observations in the subarctic Abiskojokken catchment in northernmost Sweden (68◦21 N, 18◦49 E) as a ﬁeld case example of a discontinuous permafrost region. The results show: (a) For {DOC}, both concentration and load are essentially ﬂow-independent because their dynamics are instead dominated by the annual renewal and depletion. Specifically, the ﬂow independence is the result of the small characteristic {DOC} respiration-dissolution time scale, in the range of 1 yr, relative to the average travel time of water through the subsurface to the stream. (b) For {DIC}, the load is highly ﬂow-dependent due to the large characteristic weatheringdissolution time, much larger than 1 yr, relative to the average subsurface water travel time to the stream. This rate relation keeps the {DIC} concentration essentially ﬂow-independent, and thereby less ﬂuctuating in time than the {DIC} load.},
-	pages = {3827--3839},
-	number = {10},
-	journaltitle = {Hydrology and Earth System Sciences},
-	author = {Jantze, E. J. and Lyon, S. W. and Destouni, G.},
-	urldate = {2018-07-10},
-	date = {2013-10-08},
-	langid = {english},
-	file = {Jantze et al. - 2013 - Subsurface release and transport of dissolved carb.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\M7BJ9KTX\\Jantze et al. - 2013 - Subsurface release and transport of dissolved carb.pdf:application/pdf}
-}
-
-@article{jones_rapid_2017,
-	title = {Rapid carbon loss and slow recovery following permafrost thaw in boreal peatlands},
-	volume = {23},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.13403},
-	doi = {10.1111/gcb.13403},
-	abstract = {Permafrost peatlands store one-third of the total carbon (C) in the atmosphere and are increasingly vulnerable to thaw as high-latitude temperatures warm. Large uncertainties remain about C dynamics following permafrost thaw in boreal peatlands. We used a chronosequence approach to measure C stocks in forested permafrost plateaus (forest) and thawed permafrost bogs, ranging in thaw age from young ({\textless}10 years) to old ({\textgreater}100 years) from two interior Alaska chronosequences. Permafrost originally aggraded simultaneously with peat accumulation (syngenetic permafrost) at both sites. We found that upon thaw, C loss of the forest peat C is equivalent to {\textasciitilde}30\% of the initial forest C stock and is directly proportional to the prethaw C stocks. Our model results indicate that permafrost thaw turned these peatlands into net C sources to the atmosphere for a decade following thaw, after which post-thaw bog peat accumulation returned sites to net C sinks. It can take multiple centuries to millennia for a site to recover its prethaw C stocks; the amount of time needed for them to regain their prethaw C stocks is governed by the amount of C that accumulated prior to thaw. Consequently, these ﬁndings show that older peatlands will take longer to recover prethaw C stocks, whereas younger peatlands will exceed prethaw stocks in a matter of centuries. We conclude that the loss of sporadic and discontinuous permafrost by 2100 could result in a loss of up to 24 Pg of deep C from permafrost peatlands.},
-	pages = {1109--1127},
-	number = {3},
-	journaltitle = {Global Change Biology},
-	author = {Jones, Miriam C. and Harden, Jennifer and O'Donnell, Jonathan and Manies, Kristen and Jorgenson, Torre and Treat, Claire and Ewing, Stephanie},
-	urldate = {2018-07-10},
-	date = {2017-03},
-	langid = {english},
-	file = {Jones et al. - 2017 - Rapid carbon loss and slow recovery following perm.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\G5LIA6V4\\Jones et al. - 2017 - Rapid carbon loss and slow recovery following perm.pdf:application/pdf}
-}
-
-@article{lessels_coupled_2015,
-	title = {A coupled hydrology-biogeochemistry model to simulate dissolved organic carbon exports from a permafrost-influenced catchment: A {COUPLED} {HYDROLOGY}-{BIOGEOCHEMISTRY} {MODEL}},
-	volume = {29},
-	issn = {08856087},
-	url = {http://doi.wiley.com/10.1002/hyp.10566},
-	doi = {10.1002/hyp.10566},
-	shorttitle = {A coupled hydrology-biogeochemistry model to simulate dissolved organic carbon exports from a permafrost-influenced catchment},
-	abstract = {We outline the development of a simple, coupled hydrology–biogeochemistry model for simulating stream discharge and dissolved organic carbon ({DOC}) dynamics in data sparse, permafrost-inﬂuenced catchments with large stores of soil organic carbon. The model incorporates the inﬂuence of active layer dynamics and slope aspect on hydrological ﬂowpaths and resulting {DOC} mobilization. Calibration and evaluation of the model was undertaken using observations from Granger Basin within the Wolf Creek research basin, Yukon, northern Canada. Results show that the model was able to capture the dominant hydrological response and {DOC} dynamics of the catchment reasonably well. Simulated {DOC} was highly correlated with observed {DOC} (r2 = 0.65) for the study period. During the snowmelt period, the model adequately captured the observed dynamics, with simulations generally reﬂecting the timing and magnitude of the observed {DOC} and stream discharge. The model was less successful over the later summer period although this partly reﬂected a lack of {DOC} observations for calibration. The developed model offers a valuable framework for investigating the interactions between hydrological and {DOC} processes in these highly dynamic systems, where data acquisition is often very difﬁcult. © 2015 The Authors Hydrological Processes Published by John Wiley \& Sons, Ltd.},
-	pages = {5383--5396},
-	number = {26},
-	journaltitle = {Hydrological Processes},
-	author = {Lessels, Jason S. and Tetzlaff, Doerthe and Carey, Sean K and Smith, Pete and Soulsby, Chris},
-	urldate = {2018-07-10},
-	date = {2015-12-30},
-	langid = {english},
-	file = {Lessels et al. - 2015 - A coupled hydrology-biogeochemistry model to simul.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SFAG89YM\\Lessels et al. - 2015 - A coupled hydrology-biogeochemistry model to simul.pdf:application/pdf}
-}
-
-@article{tank_multiple_2011,
-	title = {Multiple tracers demonstrate distinct sources of dissolved organic matter to lakes of the Mackenzie Delta, western Canadian Arctic},
-	volume = {56},
-	issn = {00243590},
-	url = {http://doi.wiley.com/10.4319/lo.2011.56.4.1297},
-	doi = {10.4319/lo.2011.56.4.1297},
-	abstract = {Lakes of the Mackenzie Delta occur across a gradient that contains three clear end members: those that remain connected to river-water channels throughout the summer; those that receive only brief inputs of river water during an annual spring flood but contain dense macrophyte stands; and those that experience significant permafrost thaw along their margins. We measured dissolved organic carbon ({DOC}) concentration, dissolved organic matter ({DOM}) absorption and fluorescence, and stable isotopes of {DOM}, {DOM} precursor materials, and bacteria to elucidate the importance of river water, macrophytes, and thermokarst as {DOM} sources to Mackenzie Delta lakes. Despite standing stocks of macrophyte C that are sevenfold to 12-fold greater than those of total {DOC}, stable isotopes indicated that autochthonous sources contributed less than 15\% to overall {DOM} in macrophyte-rich lakes. Instead, fluorescence and absorption indicated that the moderate summertime increase in {DOC} concentration in macrophyte-rich lakes was the result of infrequent flushing, while bacterial d13C indicated rapid bacterial removal of autochthonous {DOC} from the water column. In thermokarst lakes, summertime increases in {DOC} concentration were substantial, and stable isotopes indicated that much of this increase came from C released as a result of thermokarst-related processes. Our results indicate that these distinct sources of {DOM} to neighboring arctic Delta lakes may drive between-lake differences in C cycling and energy flow. Rapidly assimilated macrophyte {DOM} should be an important contributor to microbial food webs in our study lakes. In contrast, the accumulation of thermokarst-origin {DOM} allows for a significant role in physico-chemistry but indicates a lesser contribution of this {DOM} to higher trophic levels.},
-	pages = {1297--1309},
-	number = {4},
-	journaltitle = {Limnology and Oceanography},
-	author = {Tank, Suzanne E. and Lesack, Lance F. W. and Gareis, Jolie A. L. and Osburn, Christopher L. and Hesslein, Ray H.},
-	urldate = {2018-07-10},
-	date = {2011-07},
-	langid = {english},
-	file = {Tank et al. - 2011 - Multiple tracers demonstrate distinct sources of d.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\JBYRCSYS\\Tank et al. - 2011 - Multiple tracers demonstrate distinct sources of d.pdf:application/pdf}
-}
-
-@article{voigt_warming_2017,
-	title = {Warming of subarctic tundra increases emissions of all three important greenhouse gases - carbon dioxide, methane, and nitrous oxide},
-	volume = {23},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.13563},
-	doi = {10.1111/gcb.13563},
-	abstract = {Rapidly rising temperatures in the Arctic might cause a greater release of greenhouse gases ({GHGs}) to the atmosphere. To study the effect of warming on {GHG} dynamics, we deployed open-top chambers in a subarctic tundra site in Northeast European Russia. We determined carbon dioxide ({CO}2), methane ({CH}4), and nitrous oxide (N2O) ﬂuxes as well as the concentration of those gases, inorganic nitrogen (N) and dissolved organic carbon ({DOC}) along the soil proﬁle. Studied tundra surfaces ranged from mineral to organic soils and from vegetated to unvegetated areas. As a result of air warming, the seasonal {GHG} budget of the vegetated tundra surfaces shifted from a {GHG} sink of À300 to À198 g {CO}2–eq {mÀ}2 to a source of 105 to 144 g {CO}2–eq {mÀ}2. At bare peat surfaces, we observed increased release of all three {GHGs}. While the positive warming response was dominated by {CO}2, we provide here the ﬁrst in situ evidence of increasing N2O emissions from tundra soils with warming. Warming promoted N2O release not only from bare peat, previously identiﬁed as a strong N2O source, but also from the abundant, vegetated peat surfaces that do not emit N2O under present climate. At these surfaces, elevated temperatures had an adverse effect on plant growth, resulting in lower plant N uptake and, consequently, better N availability for soil microbes. Although the warming was limited to the soil surface and did not alter thaw depth, it increased concentrations of {DOC}, {CO}2, and {CH}4 in the soil down to the permafrost table. This can be attributed to downward {DOC} leaching, fueling microbial activity at depth. Taken together, our results emphasize the tight linkages between plant and soil processes, and different soil layers, which need to be taken into account when predicting the climate change feedback of the Arctic.},
-	pages = {3121--3138},
-	number = {8},
-	journaltitle = {Global Change Biology},
-	author = {Voigt, Carolina and Lamprecht, Richard E. and Marushchak, Maija E. and Lind, Saara E. and Novakovskiy, Alexander and Aurela, Mika and Martikainen, Pertti J. and Biasi, Christina},
-	urldate = {2018-07-10},
-	date = {2017-08},
-	langid = {english},
-	file = {Voigt et al. - 2017 - Warming of subarctic tundra increases emissions of.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\HP5JPI38\\Voigt et al. - 2017 - Warming of subarctic tundra increases emissions of.pdf:application/pdf}
-}
-
-@article{yuan_microbial_2018,
-	title = {Microbial functional diversity covaries with permafrost thaw-induced environmental heterogeneity in tundra soil},
-	volume = {24},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.13820},
-	doi = {10.1111/gcb.13820},
-	pages = {297--307},
-	number = {1},
-	journaltitle = {Global Change Biology},
-	author = {Yuan, Mengting M. and Zhang, Jin and Xue, Kai and Wu, Liyou and Deng, Ye and Deng, Jie and Hale, Lauren and Zhou, Xishu and He, Zhili and Yang, Yunfeng and Van Nostrand, Joy D. and Schuur, Edward A. G. and Konstantinidis, Konstantinos T. and Penton, Christopher R. and Cole, James R. and Tiedje, James M. and Luo, Yiqi and Zhou, Jizhong},
-	urldate = {2018-07-10},
-	date = {2018-01},
-	langid = {english},
-	file = {Yuan et al. - 2018 - Microbial functional diversity covaries with perma.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SNW3HGEE\\Yuan et al. - 2018 - Microbial functional diversity covaries with perma.pdf:application/pdf}
-}
-
-@article{grewer_redistribution_2016,
-	title = {Redistribution of soil organic matter by permafrost disturbance in the Canadian High Arctic},
-	volume = {128},
-	issn = {0168-2563, 1573-515X},
-	url = {http://link.springer.com/10.1007/s10533-016-0215-7},
-	doi = {10.1007/s10533-016-0215-7},
-	pages = {397--415},
-	number = {3},
-	journaltitle = {Biogeochemistry},
-	author = {Grewer, David M. and Lafrenière, Melissa J. and Lamoureux, Scott F. and Simpson, Myrna J.},
-	urldate = {2018-07-10},
-	date = {2016-07},
-	langid = {english},
-	file = {Grewer et al. - 2016 - Redistribution of soil organic matter by permafros.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\9AVWLWEN\\Grewer et al. - 2016 - Redistribution of soil organic matter by permafros.pdf:application/pdf}
-}
-
-@article{birkel_integrating_2014,
-	title = {Integrating parsimonious models of hydrological connectivity and soil biogeochemistry to simulate stream {DOC} dynamics: {PARSIMONIOUS} {COUPLED} {DOC} {MODEL}},
-	volume = {119},
-	issn = {21698953},
-	url = {http://doi.wiley.com/10.1002/2013JG002551},
-	doi = {10.1002/2013JG002551},
-	shorttitle = {Integrating parsimonious models of hydrological connectivity and soil biogeochemistry to simulate stream {DOC} dynamics},
-	abstract = {To improve understanding and prediction of dissolved organic carbon ({DOC}) sources and ﬂuxes in northern peat-dominated catchments, we present the development and application of a parsimonious tracer-aided rainfall-runoff model coupled with a biogeochemistry subroutine able to concurrently simulate streamﬂow and {DOC} dynamics. The modeling approach which included quantitative assessment of associated uncertainties was conditioned by geochemical tracers which discriminate dominant water sources. Integration of {DOC} was predicated on statistical time series models which identiﬁed air temperature and streamﬂow as the key proxies that capture {DOC} supply and transport processes in two upland catchments in Scotland, {UK}. Conceptualizing the nonlinear partitioning of quick near-surface and slower groundwater runoff sources in combination with a {DOC} mass balance resulted in a coupled, low-parameter mechanistic model. Model tests showed mostly sensitive parameters and reasonable simulation results with seasonally controlled {DOC} supply and event-based {DOC} transport. Transport is facilitated even for smaller events by overland ﬂow from saturated histosols connected to the stream network. However, during prolonged dry periods, near-surface runoff “switches off” and stream {DOC} is dominated by low concentration groundwaters. Furthermore, the model was able to explain subtle differences in {DOC} dynamics between the two catchments mainly reﬂecting the distribution of saturated soils and available storage. We conclude that tracers and statistical time series models can successfully guide the development of parsimonious yet structurally consistent water quality models. Parsimonious models provide tools for estimating {DOC} dynamics and loads with reduced uncertainty and potentially greater transferability.},
-	pages = {1030--1047},
-	number = {5},
-	journaltitle = {Journal of Geophysical Research: Biogeosciences},
-	author = {Birkel, Christian and Soulsby, Chris and Tetzlaff, Doerthe},
-	urldate = {2018-07-10},
-	date = {2014-05},
-	langid = {english},
-	file = {Birkel et al. - 2014 - Integrating parsimonious models of hydrological co.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\IHILJUWI\\Birkel et al. - 2014 - Integrating parsimonious models of hydrological co.pdf:application/pdf}
-}
-
-@article{grosse_changing_2016,
-	title = {Changing permafrost in a warming world and feedbacks to the Earth system},
-	volume = {11},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/11/i=4/a=040201?key=crossref.721a63a7398b84c27da7f27834004831},
-	doi = {10.1088/1748-9326/11/4/040201},
-	pages = {040201},
-	number = {4},
-	journaltitle = {Environmental Research Letters},
-	author = {Grosse, Guido and Goetz, Scott and {McGuire}, A Dave and Romanovsky, Vladimir E and Schuur, Edward A G},
-	urldate = {2018-07-10},
-	date = {2016-04-01},
-	langid = {english},
-	file = {Grosse et al. - 2016 - Changing permafrost in a warming world and feedbac.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\DR29MC8H\\Grosse et al. - 2016 - Changing permafrost in a warming world and feedbac.pdf:application/pdf}
-}
-
-@article{meng_focus_2016,
-	title = {Focus on the impact of climate change on wetland ecosystems and carbon dynamics},
-	volume = {11},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/11/i=10/a=100201?key=crossref.ada7f1df1dfcbdace4ca4278816eceb2},
-	doi = {10.1088/1748-9326/11/10/100201},
-	abstract = {The renewed growth in atmospheric methane ({CH}4) since 2007 after a decade of stabilization has drawn much attention to its causes and future trends. Wetlands are the single largest source of atmospheric {CH}4. Understanding wetland ecosystems and carbon dynamics is critical to the estimation of global {CH}4 and carbon budgets. After approximately 7 years of {CH}4 related research following the renewed growth in atmospheric {CH}4, Environmental Research Letters launched a special issue of research letters on wetland ecosystems and carbon dynamics in 2014. This special issue highlights recent developments in terrestrial ecosystem models and ﬁeld measurements of carbon ﬂuxes across different types of wetland ecosystems. The 14 research letters emphasize the importance of wetland ecosystems in the global {CO}2 and {CH}4 budget.},
-	pages = {100201},
-	number = {10},
-	journaltitle = {Environmental Research Letters},
-	author = {Meng, Lei and Roulet, Nigel and Zhuang, Qianlai and Christensen, Torben R and Frolking, Steve},
-	urldate = {2018-07-10},
-	date = {2016-10-01},
-	langid = {english},
-	file = {Meng et al. - 2016 - Focus on the impact of climate change on wetland e.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\MZ9EJSBG\\Meng et al. - 2016 - Focus on the impact of climate change on wetland e.pdf:application/pdf}
-}
-
-@article{mann_pan-arctic_2016,
-	title = {Pan-Arctic Trends in Terrestrial Dissolved Organic Matter from Optical Measurements},
-	volume = {4},
-	issn = {2296-6463},
-	url = {http://journal.frontiersin.org/Article/10.3389/feart.2016.00025/abstract},
-	doi = {10.3389/feart.2016.00025},
-	abstract = {Climate change is causing extensive warming across Arctic regions resulting in permafrost degradation, alterations to regional hydrology and shifting amounts and composition of dissolved organic matter ({DOM}) transported by streams and rivers. Here, we characterize the {DOM} composition and optical properties of the six largest Arctic rivers draining into the Arctic Ocean to examine the ability of optical measurements to provide meaningful insights into terrigenous carbon export patterns and biogeochemical cycling. The chemical composition of aquatic {DOM} varied with season, spring months were typiﬁed by highest lignin phenol and dissolved organic carbon ({DOC}) concentrations with greater hydrophobic acid content, and lower proportions of hydrophilic compounds, relative to summer and winter months. Chromophoric {DOM} ({CDOM}) spectral slope (S275–295) tracked seasonal shifts in {DOM} composition across river basins. Fluorescence and parallel factor analysis identiﬁed seven components across the six Arctic rivers. The ratios of “terrestrial humic-like” vs. “marine humic-like” ﬂuorescent components co-varied with lignin monomer ratios over summer and winter months, suggesting ﬂuorescence may provide information on the age and degradation state of riverine {DOM}. {CDOM} absorbance (a350) proved a sensitive proxy for lignin phenol concentrations across all six river basins and over the hydrograph, enabling for the ﬁrst time the development of a single pan-arctic relationship between a350 and terrigenous {DOC} (R2 = 0.93). Combining this lignin proxy with high-resolution monitoring of a350, pan-arctic estimates of annual lignin ﬂux were calculated to range from 156 to 185 Gg, resulting in shorter and more constrained estimates of terrigenous {DOM} residence times in the Arctic Ocean (spanning 7 months to 2½ years). Furthermore, multiple linear regression models incorporating both absorbance and ﬂuorescence variables proved capable of explaining much of the variability in lignin composition across rivers and seasons. Our ﬁndings suggest that synoptic, high-resolution optical measurements can provide improved understanding of northern high-latitude organic matter cycling and ﬂux, and prove an important technique for capturing future climate-driven changes.},
-	journaltitle = {Frontiers in Earth Science},
-	author = {Mann, Paul J. and Spencer, Robert G. M. and Hernes, Peter J. and Six, Johan and Aiken, George R. and Tank, Suzanne E. and {McClelland}, James W. and Butler, Kenna D. and Dyda, Rachael Y. and Holmes, Robert M.},
-	urldate = {2018-07-10},
-	date = {2016-03-17},
-	langid = {english},
-	file = {Mann et al. - 2016 - Pan-Arctic Trends in Terrestrial Dissolved Organic.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\EDA6WJEQ\\Mann et al. - 2016 - Pan-Arctic Trends in Terrestrial Dissolved Organic.pdf:application/pdf}
-}
-
-@article{striegl_carbon_2012,
-	title = {Carbon dioxide and methane emissions from the Yukon River system: {YUKON} {RIVER} C {GAS} {EMISSIONS}},
-	volume = {26},
-	issn = {08866236},
-	url = {http://doi.wiley.com/10.1029/2012GB004306},
-	doi = {10.1029/2012GB004306},
-	shorttitle = {Carbon dioxide and methane emissions from the Yukon River system},
-	pages = {n/a--n/a},
-	number = {4},
-	journaltitle = {Global Biogeochemical Cycles},
-	author = {Striegl, Robert G. and Dornblaser, M. M. and {McDonald}, C. P. and Rover, J. R. and Stets, E. G.},
-	urldate = {2018-07-10},
-	date = {2012-12},
-	langid = {english},
-	file = {Striegl et al. - 2012 - Carbon dioxide and methane emissions from the Yuko.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4VJK44C5\\Striegl et al. - 2012 - Carbon dioxide and methane emissions from the Yuko.pdf:application/pdf}
-}
-
-@article{abbott_biomass_2016,
-	title = {Biomass offsets little or none of permafrost carbon release from soils, streams, and wildfire: an expert assessment},
-	volume = {11},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/11/i=3/a=034014?key=crossref.66df61179f78005f9999c2637a68bf9e},
-	doi = {10.1088/1748-9326/11/3/034014},
-	shorttitle = {Biomass offsets little or none of permafrost carbon release from soils, streams, and wildfire},
-	abstract = {As the permafrost region warms, its large organic carbon pool will be increasingly vulnerable to decomposition, combustion, and hydrologic export. Models predict that some portion of this release will be offset by increased production of Arctic and boreal biomass; however, the lack of robust estimates of net carbon balance increases the risk of further overshooting international emissions targets. Precise empirical or model-based assessments of the critical factors driving carbon balance are unlikely in the near future, so to address this gap, we present estimates from 98 permafrost-region experts of the response of biomass, wildﬁre, and hydrologic carbon ﬂux to climate change. Results suggest that contrary to model projections, total permafrost-region biomass could decrease due to water stress and disturbance, factors that are not adequately incorporated in current models. Assessments indicate that end-of-the-century organic carbon release from Arctic rivers and collapsing coastlines could increase by 75\% while carbon loss via burning could increase four-fold. Experts identiﬁed water balance, shifts in vegetation community, and permafrost degradation as the key sources of uncertainty in predicting future system response. In combination with previous ﬁndings, results suggest the permafrost region will become a carbon source to the atmosphere by 2100 regardless of warming scenario but that 65\%–85\% of permafrost carbon release can still be avoided if human emissions are actively reduced.},
-	pages = {034014},
-	number = {3},
-	journaltitle = {Environmental Research Letters},
-	author = {Abbott, Benjamin W and Jones, Jeremy B and Schuur, Edward A G and Chapin III, F Stuart and Bowden, William B and Bret-Harte, M Syndonia and Epstein, Howard E and Flannigan, Michael D and Harms, Tamara K and Hollingsworth, Teresa N and Mack, Michelle C and McGuire, A David and Natali, Susan M and Rocha, Adrian V and Tank, Suzanne E and Turetsky, Merritt R and Vonk, Jorien E and Wickland, Kimberly P and Aiken, George R and Alexander, Heather D and Amon, Rainer M W and Benscoter, Brian W and Bergeron, Yves and Bishop, Kevin and Blarquez, Olivier and {Ben Bond-Lamberty} and Breen, Amy L and Buffam, Ishi and Cai, Yihua and Carcaillet, Christopher and Carey, Sean K and Chen, Jing M and Chen, Han Y H and Christensen, Torben R and Cooper, Lee W and Cornelissen, J Hans C and de Groot, William J and DeLuca, Thomas H and Dorrepaal, Ellen and Fetcher, Ned and Finlay, Jacques C and Forbes, Bruce C and French, Nancy H F and Gauthier, Sylvie and Girardin, Martin P and Goetz, Scott J and Goldammer, Johann G and Gough, Laura and Grogan, Paul and Guo, Laodong and Higuera, Philip E and Hinzman, Larry and Hu, Feng Sheng and Hugelius, Gustaf and Jafarov, Elchin E and Jandt, Randi and Johnstone, Jill F and {Jan Karlsson} and Kasischke, Eric S and Kattner, Gerhard and Kelly, Ryan and Keuper, Frida and Kling, George W and Kortelainen, Pirkko and Kouki, Jari and Kuhry, Peter and Laudon, Hjalmar and Laurion, Isabelle and Macdonald, Robie W and Mann, Paul J and Martikainen, Pertti J and McClelland, James W and Molau, Ulf and Oberbauer, Steven F and Olefeldt, David and Paré, David and Parisien, Marc-André and Payette, Serge and Peng, Changhui and Pokrovsky, Oleg S and Rastetter, Edward B and Raymond, Peter A and Raynolds, Martha K and Rein, Guillermo and Reynolds, James F and Robards, Martin and Rogers, Brendan M and Schädel, Christina and Schaefer, Kevin and Schmidt, Inger K and Shvidenko, Anatoly and Sky, Jasper and Spencer, Robert G M and Starr, Gregory and Striegl, Robert G and Teisserenc, Roman and Tranvik, Lars J and Virtanen, Tarmo and Welker, Jeffrey M and Zimov, Sergei},
-	urldate = {2018-07-10},
-	date = {2016-03-01},
-	langid = {english},
-	file = {Abbott et al. - 2016 - Biomass offsets little or none of permafrost carbo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZIVXAECM\\Abbott et al. - 2016 - Biomass offsets little or none of permafrost carbo.pdf:application/pdf;Abbott_SI.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BXSPRXVM\\Abbott_SI.pdf:application/pdf}
-}
-
-@article{tank_multi-decadal_2016,
-	title = {Multi-decadal increases in dissolved organic carbon and alkalinity flux from the Mackenzie drainage basin to the Arctic Ocean},
-	volume = {11},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/11/i=5/a=054015?key=crossref.7d1c7cfed6e5144abdb52d2f625a9970},
-	doi = {10.1088/1748-9326/11/5/054015},
-	pages = {054015},
-	number = {5},
-	journaltitle = {Environmental Research Letters},
-	author = {Tank, Suzanne E and Striegl, Robert G and {McClelland}, James W and Kokelj, Steven V},
-	urldate = {2018-07-10},
-	date = {2016-05-01},
-	langid = {english},
-	file = {Tank et al. - 2016 - Multi-decadal increases in dissolved organic carbo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\J5V6VHLI\\Tank et al. - 2016 - Multi-decadal increases in dissolved organic carbo.pdf:application/pdf}
-}
-
-@article{baofeng_digital_2016,
-	title = {Digital surface model applied to unmanned aerial vehicle based photogrammetry to assess potential biotic or abiotic effects on grapevine canopies},
-	volume = {9},
-	abstract = {Accurate data acquisition and analysis to obtain crop canopy information are critical steps to understand plant growth dynamics and to assess the potential impacts of biotic or abiotic stresses on plant development. A versatile and easy to use monitoring system will allow researchers and growers to improve the follow-up management strategies within farms once potential problems have been detected. This study reviewed existing remote sensing platforms and relevant information applied to crops and specifically grapevines to equip a simple Unmanned Aerial Vehicle ({UAV}) using a visible high definition {RGB} camera. The objective of the proposed Unmanned Aerial System ({UAS}) was to implement a Digital Surface Model ({DSM}) in order to obtain accurate information about the affected or missing grapevines that can be attributed to potential biotic or abiotic stress effects. The analysis process started with a three-dimensional (3D) reconstruction from the {RGB} images collected from grapevines using the {UAS} and the Structure from Motion ({SfM}) technique to obtain the {DSM} applied on a per-plant basis. Then, the {DSM} was expressed as greyscale images according to the halftone technique to finally extract the information of affected and missing grapevines using computer vision algorithms based on canopy cover measurement and classification. To validate the automated method proposed, each grapevine row was visually inspected within the study area. The inspection was then compared to the digital assessment using the proposed {UAS} in order to validate calculations of affected and missing grapevines for the whole studied vineyard. Results showed that the percentage of affected and missing grapevines was 9.5\% and 7.3\%, respectively from the area studied. Therefore, for this specific study, the abiotic stress that affected the experimental vineyard (frost) impacted a total of 16.8 \% of plants. This study provided a new method for automatically surveying affected or missing grapevines in the field and an evaluation tool for plant growth conditions, which can be implemented for other uses such as canopy management, irrigation scheduling and other precision agricultural applications.},
-	pages = {13},
-	journaltitle = {Biol Eng},
-	author = {Baofeng, Su and Jinru, Xue and Chunyu, Xie and Yulin, Fang and Yuyang, Song and Fuentes, Sigfredo},
-	date = {2016-11-16},
-	langid = {english},
-	file = {Baofeng et al. - Digital surface model applied to unmanned aerial v.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\25SC6CWE\\Baofeng et al. - Digital surface model applied to unmanned aerial v.pdf:application/pdf}
-}
-
-@article{gennaro_unmanned_2016,
-	title = {Unmanned Aerial Vehicle ({UAV})-based remote sensing to monitor grapevine leaf stripe disease within a vineyard affected by esca complex},
-	issn = {00319465},
-	url = {http://www.fupress.net/index.php/pm/article/view/18312},
-	doi = {10.14601/Phytopathol_Mediterr-18312},
-	abstract = {Foliar symptoms of grapevine leaf stripe disease ({GLSD}, a disease within the esca complex) are linked to drastic alteration of photosynthetic function and activation of defense responses in affected grapevines several days before the appearance of the first visible symptoms on leaves. The present study suggests a methodology to investigate the relationships between high-resolution multispectral images (0.05 m/pixel) acquired using an Unmanned Aerial Vehicle ({UAV}), and {GLSD} foliar symptoms monitored by ground surveys. This approach showed high correlation between Normalized Differential Vegetation Index ({NDVI}) acquired by the {UAV} and {GLSD} symptoms, and discrimination between symptomatic from asymptomatic plants. High-resolution multispectral images were acquired during June and July of 2012 and 2013, in an experimental vineyard heavily affected by {GLSD}, located in Tuscany (Italy), where vines had been surveyed and mapped since 2003. Each vine was located with a global positioning system, and classified for appearance of foliar symptoms and disease severity at weekly intervals from the beginning of each season. Remote sensing and ground observation data were analyzed to promptly identify the early stages of disease, even before visual detection. This work suggests an innovative methodology for quantitative and qualitative analysis of spatial distribution of symptomatic plants. The system may also be used for exploring the physiological bases of {GLSD}, and predicting the onset of this disease.},
-	number = {2},
-	journaltitle = {Phytopathologia Mediterranea},
-	author = {{GENNARO}, Salvatore F. {DI} and {BATTISTON}, Enrico and {MARCO}, Stefano {DI} and {FACINI}, Osvaldo and {MATESE}, Alessandro and {NOCENTINI}, Marco and {PALLIOTTI}, Alberto and {MUGNAI}, Laura},
-	urldate = {2018-07-04},
-	date = {2016-07-29},
-	langid = {english},
-	file = {GENNARO et al. - 2016 - Unmanned Aerial Vehicle (UAV)-based remote sensing.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\Q38A2UPX\\GENNARO et al. - 2016 - Unmanned Aerial Vehicle (UAV)-based remote sensing.pdf:application/pdf}
-}
-
-@article{arno_review._2009,
-	title = {Review. Precision viticulture. Research topics, challenges and opportunities in site-specific vineyard management},
-	volume = {7},
-	issn = {2171-9292, 1695-971X},
-	url = {http://revistas.inia.es/index.php/sjar/article/view/1092},
-	doi = {10.5424/sjar/2009074-1092},
-	abstract = {Precision Viticulture ({PV}) is a concept that is beginning to have an impact on the wine-growing sector. Its practical implementation is dependant on various technological developments: crop sensors and yield monitors, local and remote sensors, Global Positioning Systems ({GPS}), {VRA} (Variable-Rate Application) equipment and machinery, Geographic Information Systems ({GIS}) and systems for data analysis and interpretation. This paper reviews a number of research lines related to {PV}. These areas of research have focused on four very specific fields: 1) quantification and evaluation of within-field variability, 2) delineation of zones of differential treatment at parcel level, based on the analysis and interpretation of this variability, 3) development of Variable-Rate Technologies ({VRT}) and, finally, 4) evaluation of the opportunities for site-specific vineyard management. Research in these fields should allow winegrowers and enologists to know and understand why yield variability exists within the same parcel, what the causes of this variability are, how the yield and its quality are interrelated and, if spatial variability exists, whether site-specific vineyard management is justifiable on a technical and economic basis.},
-	pages = {779},
-	number = {4},
-	journaltitle = {Spanish Journal of Agricultural Research},
-	author = {Arnó, J. and Martínez Casasnovas, J.A. and Ribes Dasi, M. and Rosell, J.R.},
-	urldate = {2018-07-04},
-	date = {2009-12-01},
-	langid = {english},
-	file = {Arnó et al. - 2009 - Review. Precision viticulture. Research topics, ch.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\MYKWTYKV\\Arnó et al. - 2009 - Review. Precision viticulture. Research topics, ch.pdf:application/pdf}
-}
-
-@article{bramley_understanding_2005,
-	title = {Understanding variability in winegrape production systems 2. Within vineyard variation in quality over several vintages},
-	volume = {11},
-	issn = {1322-7130, 1755-0238},
-	url = {http://doi.wiley.com/10.1111/j.1755-0238.2005.tb00277.x},
-	doi = {10.1111/j.1755-0238.2005.tb00277.x},
-	abstract = {Spatial variability in various indices of winegrape quality was studied over several vintages in blocks planted to Cabernet Sauvignon and Ruby Cabernet in the Coonawarra (1999–2002) and Sunraysia (2000–2002) regions of Australia. At both sites, inter-annual variation was marked whilst intra-annual variation was much greater for some indices (e.g. concentration of total phenolics) than others (e.g. Baumé). The magnitude of intra-annual variation was readily identiﬁed in terms of the ‘spread’, deﬁned as the difference between the maximum and minimum values, expressed as a \% of the median value. Typical values of the spread were 20\% for Baumé, but could be as high as 117\% for phenolics, and better indicated the extent of variation facing the winemaker than the coefﬁcient of variation ({CV}; typically 3\% for Baumé and 14\% for phenolics). For all attributes, variation in any given year showed marked spatial structure, with the patterns of variation being broadly consistent for each attribute in each year of the study, and with many attributes following similar patterns. The results therefore strongly support the idea of zonal vineyard management. However, fruit quality zone identification is dependent on a large sampling effort. Therefore, given the current availability of yield monitors, the ﬁnding that between-zone differences in quality indices were generally signiﬁcant (P {\textless} 0.05) for zones identiﬁed on the basis of yield alone, and, in the absence of an on-the-go sensing capability, it is suggested that zonal management should proceed on the basis of zones of characteristic yield productivity. Based on the present work, it is suggested that development of an on-the-go fruit quality sensing technology would enable the wine industry to maximise its opportunity to gain benefit from differential vineyard management such as selective harvesting. Indeed, the results of this work suggest that in the absence of zonal management, preferably supported by on-the-go quality sensing, winemaker demands for delivery of uniform parcels of fruit are unlikely to be satisﬁed.},
-	pages = {33--42},
-	number = {1},
-	journaltitle = {Australian Journal of Grape and Wine Research},
-	author = {Bramley, R.G.V.},
-	urldate = {2018-07-04},
-	date = {2005-04},
-	langid = {english},
-	file = {Bramley - 2005 - Understanding variability in winegrape production .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SMNS5YAL\\Bramley - 2005 - Understanding variability in winegrape production .pdf:application/pdf}
-}
-
-@article{de_castro_3-d_2018,
-	title = {3-D Characterization of Vineyards Using a Novel {UAV} Imagery-Based {OBIA} Procedure for Precision Viticulture Applications},
-	volume = {10},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/10/4/584},
-	doi = {10.3390/rs10040584},
-	abstract = {Precision viticulture has arisen in recent years as a new approach in grape production. It is based on assessing ﬁeld spatial variability and implementing site-speciﬁc management strategies, which can require georeferenced information of the three dimensional (3D) grapevine canopy structure as one of the input data. The 3D structure of vineyard ﬁelds can be generated applying photogrammetric techniques to aerial images collected with Unmanned Aerial Vehicles ({UAVs}), although processing the large amount of crop data embedded in 3D models is currently a bottleneck of this technology. To solve this limitation, a novel and robust object-based image analysis ({OBIA}) procedure based on Digital Surface Model ({DSM}) was developed for 3D grapevine characterization. The signiﬁcance of this work relies on the developed {OBIA} algorithm which is fully automatic and self-adaptive to different crop-ﬁeld conditions, classifying grapevines, and row gap (missing vine plants), and computing vine dimensions without any user intervention. The results obtained in three testing ﬁelds on two different dates showed high accuracy in the classiﬁcation of grapevine area and row gaps, as well as minor errors in the estimates of grapevine height. In addition, this algorithm computed the position, projected area, and volume of every grapevine in the ﬁeld, which increases the potential of this {UAV}- and {OBIA}-based technology as a tool for site-speciﬁc crop management applications.},
-	pages = {584},
-	number = {4},
-	journaltitle = {Remote Sensing},
-	author = {de Castro, Ana and Jiménez-Brenes, Francisco and Torres-Sánchez, Jorge and Peña, José and Borra-Serrano, Irene and López-Granados, Francisca},
-	urldate = {2018-07-04},
-	date = {2018-04-10},
-	langid = {english},
-	file = {de Castro et al. - 2018 - 3-D Characterization of Vineyards Using a Novel UA.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\V7C4QQ8G\\de Castro et al. - 2018 - 3-D Characterization of Vineyards Using a Novel UA.pdf:application/pdf}
-}
-
-@article{feng_uav_2015,
-	title = {{UAV} Remote Sensing for Urban Vegetation Mapping Using Random Forest and Texture Analysis},
-	volume = {7},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/7/1/1074},
-	doi = {10.3390/rs70101074},
-	pages = {1074--1094},
-	number = {1},
-	journaltitle = {Remote Sensing},
-	author = {Feng, Quanlong and Liu, Jiantao and Gong, Jianhua},
-	urldate = {2018-07-04},
-	date = {2015-01-19},
-	langid = {english},
-	file = {Feng et al. - 2015 - UAV Remote Sensing for Urban Vegetation Mapping Us.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\AEGI5689\\Feng et al. - 2015 - UAV Remote Sensing for Urban Vegetation Mapping Us.pdf:application/pdf}
-}
-
-@article{mcguire_dependence_2018,
-	title = {Dependence of the evolution of carbon dynamics in the northern permafrost region on the trajectory of climate change},
-	volume = {115},
-	issn = {0027-8424, 1091-6490},
-	url = {http://www.pnas.org/lookup/doi/10.1073/pnas.1719903115},
-	doi = {10.1073/pnas.1719903115},
-	pages = {3882--3887},
-	number = {15},
-	journaltitle = {Proceedings of the National Academy of Sciences},
-	author = {{McGuire}, A. David and Lawrence, David M. and Koven, Charles and Clein, Joy S. and Burke, Eleanor and Chen, Guangsheng and Jafarov, Elchin and {MacDougall}, Andrew H. and Marchenko, Sergey and Nicolsky, Dmitry and Peng, Shushi and Rinke, Annette and Ciais, Philippe and Gouttevin, Isabelle and Hayes, Daniel J. and Ji, Duoying and Krinner, Gerhard and Moore, John C. and Romanovsky, Vladimir and Schädel, Christina and Schaefer, Kevin and Schuur, Edward A. G. and Zhuang, Qianlai},
-	urldate = {2018-07-02},
-	date = {2018-04-10},
-	langid = {english},
-	file = {McGuire et al. - 2018 - Dependence of the evolution of carbon dynamics in .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\V4CP9RI9\\McGuire et al. - 2018 - Dependence of the evolution of carbon dynamics in .pdf:application/pdf}
-}
-
-@article{noauthor_3882.full.pdf_nodate,
-	title = {3882.full.pdf},
-	doi = {https://doi.org/10.1073/pnas.1719903115}
-}
-
-@article{turner_controls_2014,
-	title = {Controls on water balance of shallow thermokarst lakes and their relations with catchment characteristics: a multi-year, landscape-scale assessment based on water isotope tracers and remote sensing in Old Crow Flats, Yukon (Canada)},
-	volume = {20},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.12465},
-	doi = {10.1111/gcb.12465},
-	shorttitle = {Controls on water balance of shallow thermokarst lakes and their relations with catchment characteristics},
-	abstract = {Many northern lake-rich regions are undergoing pronounced hydrological change, yet inadequate knowledge of the drivers of these landscape-scale responses hampers our ability to predict future conditions. We address this challenge in the thermokarst landscape of Old Crow Flats ({OCF}) using a combination of remote sensing imagery and monitoring of stable isotope compositions of lake waters over three thaw seasons (2007–2009). Quantitative analysis conﬁrmed that the hydrological behavior of lakes is strongly inﬂuenced by catchment vegetation and physiography. Catchments of snowmelt-dominated lakes, typically located in southern peripheral areas of {OCF}, encompass high proportions of woodland/forest and tall shrub vegetation (mean percent land cover = ca. 60\%). These land cover types effectively capture snow and generate abundant snowmelt runoff that offsets lake water evaporation. Rainfalldominated lakes that are not strongly inﬂuenced by evaporation are typically located in eastern and northern {OCF} where their catchments have higher proportions of dwarf shrub/herbaceous and sparse vegetation (ca. 45\%), as well as surface water (ca. 20\%). Evaporation-dominated lakes, are located in the {OCF} interior where their catchments are distinguished by substantially higher lake area to catchment area ratios ({LA}/{CA} = ca. 29\%) compared to low evaporation-inﬂuenced rainfall-dominated (ca. 10\%) and snowmelt-dominated (ca. 4\%) lakes. Lakes whose catchments contain {\textgreater}75\% combined dwarf shrub/herbaceous vegetation and surface water are most susceptible to evaporative lake-level drawdown, especially following periods of low precipitation. Findings indicate that multiple hydrological trajectories are probable in response to climate-driven changes in precipitation amount and seasonality, vegetation composition, and thermokarst processes. These will likely include a shift to greater snowmelt inﬂuence in catchments experiencing expansion of tall shrubs, greater inﬂuence from evaporation in catchments having higher proportions of surface water, and an increase in the rate of thermokarst lake expansion and probability of drainage. Local observations suggest that some of these changes are already underway.},
-	pages = {1585--1603},
-	number = {5},
-	journaltitle = {Global Change Biology},
-	author = {Turner, Kevin W. and Wolfe, Brent B. and Edwards, Thomas W. D. and Lantz, Trevor C. and Hall, Roland I. and Larocque, Guillaume},
-	urldate = {2018-06-29},
-	date = {2014-05},
-	langid = {english},
-	file = {Turner et al. - 2014 - Controls on water balance of shallow thermokarst l.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ENFATHMR\\Turner et al. - 2014 - Controls on water balance of shallow thermokarst l.pdf:application/pdf}
-}
-
-@article{carrillo_use_2016,
-	title = {Use of multi-spectral airborne imagery to improve yield sampling in viticulture},
-	volume = {17},
-	issn = {1385-2256, 1573-1618},
-	url = {http://link.springer.com/10.1007/s11119-015-9407-8},
-	doi = {10.1007/s11119-015-9407-8},
-	pages = {74--92},
-	number = {1},
-	journaltitle = {Precision Agriculture},
-	author = {Carrillo, E. and Matese, A. and Rousseau, J. and Tisseyre, B.},
-	urldate = {2018-06-27},
-	date = {2016-02},
-	langid = {english},
-	file = {Carrillo et al. - 2016 - Use of multi-spectral airborne imagery to improve .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NP4AZI7X\\Carrillo et al. - 2016 - Use of multi-spectral airborne imagery to improve .pdf:application/pdf}
-}
-
-@misc{gordon_arctic_2005,
-	title = {Arctic Borderlands Ecological Knowledge Co-op},
-	author = {Gordon, Annie B and Andre, May and Kaglik, Butch and Cockney, Steve and Allen, Mildred and Snowshoe, Audrey and Tetlichi, Randall},
-	date = {2005},
-	langid = {english},
-	file = {Gordon et al. - 2005 - Arctic Borderlands Ecological Knowledge Co-op.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\DXMNW9PT\\Gordon et al. - 2005 - Arctic Borderlands Ecological Knowledge Co-op.pdf:application/pdf}
-}
-
-@article{hogrefe_normalized_2017,
-	title = {Normalized Difference Vegetation Index as an Estimator for Abundance and Quality of Avian Herbivore Forage in Arctic Alaska},
-	volume = {9},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/9/12/1234},
-	doi = {10.3390/rs9121234},
-	abstract = {Tools that can monitor biomass and nutritional quality of forage plants are needed to understand how arctic herbivores may respond to the rapidly changing environment at high latitudes. The Normalized Difference Vegetation Index ({NDVI}) has been widely used to assess changes in abundance and distribution of terrestrial vegetative communities. However, the efﬁcacy of {NDVI} to measure seasonal changes in biomass and nutritional quality of forage plants in the Arctic remains largely un-evaluated at landscape and ﬁne-scale levels. We modeled the relationships between {NDVI} and seasonal changes in aboveground biomass and nitrogen concentration in halophytic graminoids, a key food source for arctic-nesting geese. The model was calibrated based on data collected at one site and validated using data from another site. Effects of spatial scale on model accuracy were determined by comparing model predictions between {NDVI} derived from moderate resolution (250 × 250 m pixels) satellite data and high resolution (20 cm diameter area) handheld spectrometer data. {NDVI} derived from the handheld spectrometer was a superior estimator (R2 ≥ 0.67) of seasonal changes in aboveground biomass compared to satellite-derived {NDVI} (R2 ≤ 0.40). The addition of temperature and precipitation variables to the model for biomass improved ﬁt, but provided minor gains in predictive power beyond that of the {NDVI}-only model. This model, however, was only a moderately accurate estimator of biomass in an ecologically-similar halophytic graminoid wetland located 100 km away, indicating the necessity for site-speciﬁc validation. In contrast to assessments of biomass, satellite-derived {NDVI} was a better estimator for the timing of peak percent of nitrogen than {NDVI} derived from the handheld spectrometer. We conﬁrmed that the date when {NDVI} reached 50\% of its seasonal maximum was a reasonable approximation of the period of peak spring vegetative green-up and peak percent nitrogen. This study demonstrates the importance of matching the scale of {NDVI} measurements to the vegetation properties of biomass and nitrogen phenology.},
-	pages = {1234},
-	number = {12},
-	journaltitle = {Remote Sensing},
-	author = {Hogrefe, Kyle and Patil, Vijay and Ruthrauff, Daniel and Meixell, Brandt and Budde, Michael and Hupp, Jerry and Ward, David},
-	urldate = {2018-06-19},
-	date = {2017-11-29},
-	langid = {english},
-	file = {Hogrefe et al. - 2017 - Normalized Difference Vegetation Index as an Estim.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QJLPS23F\\Hogrefe et al. - 2017 - Normalized Difference Vegetation Index as an Estim.pdf:application/pdf}
-}
-
-@article{ahmed_assessment_2018,
-	title = {Assessment of land cover change using remote sensing, aerial photographs and dendrochronological approaches in Old Crow Flats, Yukon},
-	abstract = {Changing climate conditions have been amplified across Arctic and subarctic regions, which have influenced landscape characteristics. Notably, shrub vegetation size and spatial distributions have increased in many locations, which have been found to influence other landscape components including hydrological and ecological conditions. The 14,500 km2 Old Crow Flats ({OCF}) basin in northern Yukon is one such landscape where past research has identified relations among land cover and hydroecological conditions, however, more refined insight of land cover changes is required to identify how this important and vast wetland will respond to future changing climate. Here, we evaluated spatial and temporal patterns of vegetation change in {OCF} since 1985 using Landsat imagery and ground control observations from plot sampling, oblique aerial images, and an unmanned aerial vehicle ({UAV}). Trends in greening vegetation spatial distribution were identified using remote-sensing indicators, the normalized difference vegetation index ({NDVI}) and tasseled cap transformation ({TCg}). Findings showed a significant increase in vegetation greening during the last 30 years, which was compared with a Landsat-derived land cover classification layer. Quantitative analysis showed that greening occurred mostly in 8,335 km2 shrub-vegetation classified areas (outside of drained lake basins) from 1985 to 2014. Shrub vegetation coverage was estimated to increase approximately 13.25 km2 per year in {OCF}. The greatest increases in vegetation was found across the northern and eastern ecotone areas of the {OCF} basin. The highest percentage of greening ({\textasciitilde}7.58\%) was observed in the northern {OCF} basin and northern parts of the Black Fox Creek subcatchment, and the highest coverage of greening ({\textasciitilde}2,108 km2) was found in the Johnson Creek subcatchment. Additional validation of remote sensing analysis was generated from 550 oblique photographs, as well as integration of shrub age analysis and acquisition of multispectral images in two 90-m plots. Oblique photographs showed the majority (72\%) of sampled pixels with significant greening were shrub vegetation. {UAV} and analysis of tree rings in the two plots within greening pixels showed that shrub was the dominant vegetation (70-73\% coverage) and that 70\% of shrubs sampled were dated at ≤ 30 years old. The Landsat-derived vegetation greening products will be essential for refining our knowledge of how changing land cover is impacting lake and river hydroecological conditions. Insight generated here about key wildlife habitat will be useful for stakeholders including the Vuntut Gwitchin First Nation and Vuntut National Park as they form monitoring and land management plans as climate continues to change.},
-	journaltitle = {Remote Sensing},
-	shortjournal = {Remote Sensing},
-	author = {Ahmed, M. Razu and Turner, Kevin W. and Thorne, W. Brent and Wang, Jon A. and Lantz, Trevor C.},
-	date = {2018-06},
-	file = {Ahmed et al. - 2018 - Assessment of land cover change using remote sensi.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\UKJEP9PC\\Ahmed et al. - 2018 - Assessment of land cover change using remote sensi.pdf:application/pdf}
-}
-
-@article{olthof_recent_2009,
-	title = {Recent (1986-2006) Vegetation-Specific {NDVI} Trends in Northern Canada from Satellite Data},
-	volume = {61},
-	issn = {1923-1245, 0004-0843},
-	url = {http://arctic.journalhosting.ucalgary.ca/arctic/index.php/arctic/article/view/46},
-	doi = {10.14430/arctic46},
-	abstract = {Recent northern vegetation changes caused by climate warming have been well documented, using experimental plot warming to examine vegetation-specific changes and satellite image data to examine overall trends. Previous remote sensing efforts have employed the Normalized Difference Vegetation Index ({NDVI}) from {AVHRR}, whose 1 km to 8 km pixel size is too large for examination of broad scale vegetation-specific responses because of mixing within the pixel footprint. In this paper, we reconcile differences between field- and remote sensing-based approaches by using both medium-resolution (30 m) and coarseresolution (1 km) data to study 20 years of vegetation-specific responses to northern climate warming (1986 to 2006). Trends are compared among vegetation communities from two separate Landsat classifications in Canada’s eastern and western forest-tundra transition zone, as well as a 1 km {AVHRR} database recently developed over Canada. A comparison of absolute trends among mapped vegetation communities revealed lichen-dominated communities consistently exhibiting lower trends than those dominated by vascular plants, with both exhibiting increasing {NDVI}. Our results and those obtained from experimental warming suggest that the magnitude difference in {NDVI} increase between lichen and vascular vegetation is related to increasing vigor and biomass of vascular vegetation, in contrast to physiological impairment of lichen due to the short-term secondary effect of temperature on moisture. In the longer term, succession from lichen to vascular is likely responsible for the small observed {NDVI} increase over lichen-dominated regions. The fact that both Landsat and {AVHRR} exhibited similar relative vegetation-specific trends in {NDVI} suggests that this phenomenon may be widespread in the North.},
-	number = {4},
-	journaltitle = {{ARCTIC}},
-	author = {Olthof, Ian and Pouliot, Darren},
-	urldate = {2018-05-09},
-	date = {2009-08-28},
-	langid = {english},
-	file = {Olthof and Pouliot - 2009 - Recent (1986-2006) Vegetation-Specific NDVI Trends.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\B2P2MZGI\\Olthof and Pouliot - 2009 - Recent (1986-2006) Vegetation-Specific NDVI Trends.pdf:application/pdf}
-}
-
-@article{van_der_maaten_dendrometer:_2016,
-	title = {{dendrometeR}: Analyzing the pulse of trees in R},
-	volume = {40},
-	issn = {11257865},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S1125786516300662},
-	doi = {10.1016/j.dendro.2016.06.001},
-	shorttitle = {{dendrometeR}},
-	abstract = {Dendrometers are measurement devices proven to be useful to analyze tree water relations and growth responses in relation to environmental variability. To analyze dendrometer data, two analytical methods prevail: (1) daily approaches that calculate or extract single values per day, and (2) stem-cycle approaches that separate high-resolution dendrometer records into distinct phases of contraction, expansion and stem-radius increment. Especially the stem-cycle approach requires complex algorithms to disentangle cyclic phases. Here, we present an R package, named {dendrometeR}, that facilitates the analysis of dendrometer data using both analytical methods. By making the package freely available, we make a ﬁrst step towards comparable and reproducible methods to analyze dendrometer data. The package contains customizable functions to prepare, verify, process and plot dendrometer series, as well as functions that facilitate the analysis of dendrometer data (i.e. daily statistics or extracted phases) in relation to environmental data. The functionality of {dendrometeR} is illustrated in this note.},
-	pages = {12--16},
-	journaltitle = {Dendrochronologia},
-	author = {van der Maaten, Ernst and van der Maaten-Theunissen, Marieke and Smiljanić, Marko and Rossi, Sergio and Simard, Sonia and Wilmking, Martin and Deslauriers, Annie and Fonti, Patrick and von Arx, Georg and Bouriaud, Olivier},
-	urldate = {2018-04-13},
-	date = {2016-12},
-	langid = {english},
-	file = {van der Maaten et al. - 2016 - dendrometeR Analyzing the pulse of trees in R.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\LUEFGPTC\\van der Maaten et al. - 2016 - dendrometeR Analyzing the pulse of trees in R.pdf:application/pdf}
-}
-
-@article{suzuki_hydrological_2018,
-	title = {Hydrological Variability and Changes in the Arctic Circumpolar Tundra and the Three Largest Pan-Arctic River Basins from 2002 to 2016},
-	volume = {10},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/10/3/402},
-	doi = {10.3390/rs10030402},
-	abstract = {The Arctic freshwater budget is critical for understanding the climate in the northern regions. However, the hydrology of the Arctic circumpolar tundra region ({ACTR}) and the largest pan-Arctic rivers are still not well understood. In this paper, we analyze the spatiotemporal variations in the terrestrial water storage ({TWS}) of the {ACTR} and three of the largest pan-Arctic river basins (Lena, Mackenzie, Yukon). To do this, we utilize monthly Gravity Recovery and Climate Experiment ({GRACE}) data from 2002 to 2016. Together with global land reanalysis, and river runoff data, we identify declining {TWS} trends throughout the {ACTR} that we attribute largely to increasing evapotranspiration driven by increasing summer air temperatures. In terms of regional changes, large and signiﬁcant negative trends in {TWS} are observed mainly over the North American continent. At basin scale, we show that, in the Lena River basin, the autumnal {TWS} signal persists until the spring of the following year, while in the Mackenzie River basin, the {TWS} level in the autumn and winter has no signiﬁcant impact on the following year. As expected global warming is expected to be particularly signiﬁcant in the northern regions, our results are important for understanding future {TWS} trends, with possible further decline.},
-	pages = {402},
-	number = {3},
-	journaltitle = {Remote Sensing},
-	author = {Suzuki, Kazuyoshi and Matsuo, Koji and Yamazaki, Dai and Ichii, Kazuhito and Iijima, Yoshihiro and Papa, Fabrice and Yanagi, Yuji and Hiyama, Tetsuya},
-	urldate = {2018-04-06},
-	date = {2018-03-06},
-	langid = {english},
-	file = {Suzuki et al. - 2018 - Hydrological Variability and Changes in the Arctic.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\HNQ334P9\\Suzuki et al. - 2018 - Hydrological Variability and Changes in the Arctic.pdf:application/pdf}
-}
-
-@inproceedings{liu_combining_2010,
-	title = {Combining Tasseled Cap Transformation with Support Vector Machine to classify Landsat {TM} imagery data},
-	isbn = {978-1-4244-5958-2},
-	url = {http://ieeexplore.ieee.org/document/5582727/},
-	doi = {10.1109/ICNC.2010.5582727},
-	abstract = {Landsat represents the world's longest continuously acquired collection of space-based moderate-resolution land remote sensing data. Compared with the other earlier Landsat satellites, Landsat 8 has several new characteristics in spectral bands, spectral range and radiometric resolution. Therefore, there is a strong requirement to analyze the characteristics of the Landsat 8 for land cover classification, global change research. In this paper, Landsat 8 {OLI} image was used with Support Vector Machine ({SVM}) and Tasseled Cap Transformation ({TCT}) for land cover classification. Firstly, the Top of Atmospheric ({TOA}) reflectance based {TCT} was developed based on Landsat 8 {OLI} images. Then comparison of {ISODATA}, K-Means and {SVM} of all original 8 Landsat 8 {OLI} bands and both of {TCT} Greenness and Wetness in land cover classification was done. The present results showed that compared with using the original 8 Landsat 8 {OLI} bands, the classification results from {ISODATA} and K-Means based on both of {TCT} Greenness and Wetness had better robustness and accuracy, and the classification using {SVM} with {TCT} had better efficiency and accuracy.},
-	pages = {3570--3572},
-	publisher = {{IEEE}},
-	author = {Liu, Qingsheng and Liu, Gaohuan},
-	urldate = {2018-03-28},
-	date = {2010-08},
-	langid = {english},
-	file = {Liu and Liu - 2010 - Combining Tasseled Cap Transformation with Support.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\E8JGU7PD\\Liu and Liu - 2010 - Combining Tasseled Cap Transformation with Support.pdf:application/pdf}
-}
-
-@article{davidson_mapping_2016,
-	title = {Mapping Arctic Tundra Vegetation Communities Using Field Spectroscopy and Multispectral Satellite Data in North Alaska, {USA}},
-	volume = {8},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/8/12/978},
-	doi = {10.3390/rs8120978},
-	pages = {978},
-	number = {12},
-	journaltitle = {Remote Sensing},
-	author = {Davidson, Scott and Santos, Maria and Sloan, Victoria and Watts, Jennifer and Phoenix, Gareth and Oechel, Walter and Zona, Donatella},
-	urldate = {2018-03-28},
-	date = {2016-11-26},
-	langid = {english},
-	file = {Davidson et al. - 2016 - Mapping Arctic Tundra Vegetation Communities Using.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\U6E5F6HB\\Davidson et al. - 2016 - Mapping Arctic Tundra Vegetation Communities Using.pdf:application/pdf}
-}
-
-@article{thompson_atmospheric_2015,
-	title = {Atmospheric correction for global mapping spectroscopy: {ATREM} advances for the {HyspIRI} preparatory campaign},
-	volume = {167},
-	issn = {00344257},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0034425715000607},
-	doi = {10.1016/j.rse.2015.02.010},
-	shorttitle = {Atmospheric correction for global mapping spectroscopy},
-	abstract = {Orbital imaging spectrometers, such as the proposed Hyperspectral Infrared Imager ({HyspIRI}) mission, will provide global, multi-year Visible Shortwave Infrared ({VSWIR}) reﬂectance maps. Monitoring the Earth's surface at high spectral resolution will advance our understanding of changing ecosystems and land use. These applications depend on reliable correction of atmospheric scattering and absorption. The {HyspIRI} Preparatory Campaign is an airborne precursor mission comprised of multiple ﬂights by the “classic” Airborne Visible Infrared Imaging Spectrometer ({AVIRIS}-C) over a wide geographic area. This article describes the atmospheric correction that we have implemented for the campaign. We ﬁrst present the theoretical basis of our approach, which is grounded in the {ATmospheric} {REMoval} ({ATREM}) algorithm. We then describe new enhancements including retrieval of pressure altitude, which improves accuracy over widely varying topography, and joint retrieval of optical absorption for three phases of water (vapor, liquid, and ice), which improves accuracy over vegetated areas. Reﬂectance is validated using ground spectra acquired across a wide range of targets and elevations. Finally, we use the algorithm to map vapor, liquid, and ice phases of water over 6 months across a 14,000 km2 region of California. © 2015 Elsevier Inc. All rights reserved.},
-	pages = {64--77},
-	journaltitle = {Remote Sensing of Environment},
-	author = {Thompson, David R. and Gao, Bo-Cai and Green, Robert O. and Roberts, Dar A. and Dennison, Philip E. and Lundeen, Sarah R.},
-	urldate = {2018-03-28},
-	date = {2015-09},
-	langid = {english},
-	file = {Thompson et al. - 2015 - Atmospheric correction for global mapping spectros.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SZUB9598\\Thompson et al. - 2015 - Atmospheric correction for global mapping spectros.pdf:application/pdf}
-}
-
-@article{robert_airborne_nodate,
-	title = {Airborne Visible/Infrared Imaging Spectrometer Next Generation ({AVIRIS}-{NG}) Data User’s Guide - India Campaign 2015},
-	pages = {13},
-	author = {Robert, Robert O Green and Lundeen, Sarah and {McCubbin}, Ian and Thompson, David R and Bue, Brian D},
-	langid = {english},
-	file = {Robert et al. - Airborne VisibleInfrared Imaging Spectrometer Nex.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\U3LZ3QMN\\Robert et al. - Airborne VisibleInfrared Imaging Spectrometer Nex.pdf:application/pdf}
-}
-
-@article{lantuit_temporal_2005,
-	title = {Temporal stereophotogrammetric analysis of retrogressive thaw slumps on Herschel Island, Yukon Territory},
-	volume = {5},
-	issn = {1684-9981},
-	url = {http://www.nat-hazards-earth-syst-sci.net/5/413/2005/},
-	doi = {10.5194/nhess-5-413-2005},
-	pages = {413--423},
-	number = {3},
-	journaltitle = {Natural Hazards and Earth System Science},
-	author = {Lantuit, H. and Pollard, W. H.},
-	urldate = {2018-03-23},
-	date = {2005-05-30},
-	langid = {english},
-	file = {Lantuit and Pollard - 2005 - Temporal stereophotogrammetric analysis of retrogr.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\U6QNUN9M\\Lantuit and Pollard - 2005 - Temporal stereophotogrammetric analysis of retrogr.pdf:application/pdf}
-}
-
-@article{weismuller_modeling_2011,
-	title = {Modeling the thermal dynamics of the active layer at two contrasting permafrost sites on Svalbard and on the Tibetan Plateau},
-	volume = {5},
-	issn = {1994-0424},
-	url = {http://www.the-cryosphere.net/5/741/2011/},
-	doi = {10.5194/tc-5-741-2011},
-	abstract = {Employing a one-dimensional, coupled thermal and hydraulic numerical model, we quantitatively analyze high-resolution, multi-year data from the active layers at two contrasting permafrost sites. The model implements heat conduction with the de Vries parameterization, heat convection with water and vapor ﬂow, freeze-thaw transition parameterized with a heuristic soil-freezing characteristic, and liquid water ﬂow with the Mualem-van Genuchten parameterization. The model is driven by measured temperatures and water contents at the upper and lower boundary with all required material properties deduced from the measured data. The aims are (i) to ascertain the applicability of such a rather simple model, (ii) to quantify the dominating processes, and (iii) to discuss possible causes of remaining deviations.},
-	pages = {741--757},
-	number = {3},
-	journaltitle = {The Cryosphere},
-	author = {Weismüller, J. and Wollschläger, U. and Boike, J. and Pan, X. and Yu, Q. and Roth, K.},
-	urldate = {2018-03-23},
-	date = {2011-09-19},
-	langid = {english},
-	file = {Weismüller et al. - 2011 - Modeling the thermal dynamics of the active layer .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\RERPBMUI\\Weismüller et al. - 2011 - Modeling the thermal dynamics of the active layer .pdf:application/pdf}
-}
-
-@collection{giosan_river_2005,
-	location = {Tulsa, Okla},
-	title = {River deltas: concepts, models, and examples},
-	isbn = {978-1-56576-113-1 978-1-56576-219-0},
-	series = {{SEPM} special publication},
-	shorttitle = {River deltas},
-	abstract = {Coastal-prism sediments record rising local water levels, forced by sea-level rise. Sea-level rise is the primary driving factor, but the anatomy of the coastal prism is a result of a complex interplay of sea level, subsidence, and upstream controls (essentially sediment load). The sedimentary architecture of a coastal prism is linked to paleo–groundwater rise. Groundwater rise is quantified for the entire Rhine–Meuse delta (extending 120 km inland, 60 km wide) between an 11.0 kyr {BP} groundwater lowstand and the present highstand, dating series of organic markers (peats) of paleo–groundwater levels at compaction-free locations. The accumulated dataset of paleo–groundwater-level markers ({\textgreater} 300 index points) has a dense spatial and temporal coverage and a predictive quality that enables geostatistical analysis. The combination of this dataset and a carefully designed interpolation method (a form of 3D kriging) reveals the interplay between upstream (climate, discharge) and downstream (sea level, tides) controls on gradients of groundwater level and patterns of groundwater rise. Regional effects due to local controls (differential subsidence, groundwater flow) are also identified.},
-	pagetotal = {502},
-	number = {83},
-	publisher = {Society for Sedimentary Geology},
-	editor = {Giosan, Liviu},
-	date = {2005},
-	langid = {english},
-	note = {{OCLC}: 255162802},
-	file = {Giosan - 2005 - River deltas concepts, models, and examples.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SQL7BJL4\\Giosan - 2005 - River deltas concepts, models, and examples.pdf:application/pdf}
-}
-
-@article{chen_three-dimensional_2015,
-	title = {Three-Dimensional Mapping of Soil Organic Carbon by Combining Kriging Method with Profile Depth Function},
-	volume = {10},
-	issn = {1932-6203},
-	url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4457849/},
-	doi = {10.1371/journal.pone.0129038},
-	abstract = {Understanding spatial variation of soil organic carbon ({SOC}) in three-dimensional direction is helpful for land use management. Due to the effect of profile depths and soil texture on vertical distribution of {SOC}, the stationary assumption for {SOC} cannot be met in the vertical direction. Therefore the three-dimensional (3D) ordinary kriging technique cannot be directly used to map the distribution of {SOC} at a regional scale. The objectives of this study were to map the 3D distribution of {SOC} at a regional scale by combining kriging method with the profile depth function of {SOC} ({KPDF}), and to explore the effects of soil texture and land use type on vertical distribution of {SOC} in a fluvial plain. A total of 605 samples were collected from 121 soil profiles (0.0 to 1.0 m, 0.20 m increment) in Quzhou County, China and {SOC} contents were determined for each soil sample. The {KPDF} method was used to obtain the 3D map of {SOC} at the county scale. The results showed that the exponential equation well described the vertical distribution of mean values of the {SOC} contents. The coefficients of determination, root mean squared error and mean prediction error between the measured and the predicted {SOC} contents were 0.52, 1.82 and -0.24 g kg-1 respectively, suggesting that the {KPDF} method could be used to produce a 3D map of {SOC} content. The surface {SOC} contents were high in the mid-west and south regions, and low values lay in the southeast corner. The {SOC} contents showed significant positive correlations between the five different depths and the correlations of {SOC} contents were larger in adjacent layers than in non-adjacent layers. Soil texture and land use type had significant effects on the spatial distribution of {SOC}. The influence of land use type was more important than that of soil texture in the surface soil, and soil texture played a more important role in influencing the {SOC} levels for 0.2-0.4 m layer.},
-	number = {6},
-	journaltitle = {{PLoS} {ONE}},
-	shortjournal = {{PLoS} One},
-	author = {Chen, Chong and Hu, Kelin and Li, Hong and Yun, Anping and Li, Baoguo},
-	urldate = {2018-03-23},
-	date = {2015-06-05},
-	pmid = {26047012},
-	pmcid = {PMC4457849},
-	file = {Chen et al. - 2015 - Three-Dimensional Mapping of Soil Organic Carbon b.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\52K9DNCY\\Chen et al. - 2015 - Three-Dimensional Mapping of Soil Organic Carbon b.pdf:application/pdf}
-}
-
-@article{gibson_estimating_1993,
-	title = {Estimating Evaporation Using Stable Isotopes: Quantitative Results and Sensitivity Analysis for Two Catchments in Northern Canada},
-	volume = {24},
-	url = {http://hr.iwaponline.com/content/24/2-3/79.abstract},
-	abstract = {The stable isotope-mass balance method can provide useful water balance information in ungauged catchments. The method has been used to evaluate evaporation and water balance at two contrasting sites in northern Canada. Areally weighted evaporative discharge from an 850 km2 tundra catchment in south-central District of Keewatin is estimated to be about 7 \% of total water discharge (≈ 16 mm/yr), compared to about 19 \% (≈ 65 mm/yr) from a 300 km2 forested watershed in the Upper Mackenzie Valley. Lakes in both watersheds exhibit broad ranges of evaporation/inflow ratios related to local water balance. The potential errors in the estimates are evaluated through consideration of possible variations in basin storage, humidity, and the isotopic composition of atmospheric vapour.},
-	pages = {79},
-	number = {2},
-	journaltitle = {Hydrology Research},
-	shortjournal = {Hydrol Res},
-	author = {Gibson, J.J. and Edwards, T.W.D. and Bursey, G.G. and Prowse, T.D.},
-	date = {1993-04-01},
-	file = {Gibson et al. - 1993 - Estimating Evaporation Using Stable Isotopes Quan.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\KALY3NJ8\\Gibson et al. - 1993 - Estimating Evaporation Using Stable Isotopes Quan.pdf:application/pdf}
-}
-
-@article{welker_arctic_2005,
-	title = {Arctic and North Atlantic Oscillation phase changes are recorded in the isotopes (delta18O and delta13C) of Cassiope tetragona plants},
-	volume = {11},
-	issn = {1354-1013, 1365-2486},
-	url = {http://doi.wiley.com/10.1111/j.1365-2486.2005.00961.x},
-	doi = {10.1111/j.1365-2486.2005.00961.x},
-	abstract = {The Arctic and North Atlantic Oscillations ({AO}/{NAO}) are large-scale annual modes of atmospheric circulation that have shifted in the last 30 years. Recent changes in arctic climate, including increasing surface air temperature, declining sea ice extent, and shifts in the amounts seasonality of precipitation are linked to the strong positive phase of the {AO}/{NAO}. Here, we show that phase changes in the {AO}/{NAO} are recorded in the isotopic (d18O and D-carbon isotope discrimination) characteristics of the long-lived circum-arctic plant, Cassiope tetragona, as summer rain has become a more important water source than snowmelt water which in turn has lead to decreases in D and reductions in plant stem growth. These isotopic records in C. tetragona may facilitate reconstructions of climate, plant–soil water relations, plant gas exchange attributes and a mechanistic understanding of growth responses to shifts in atmospheric circulation. If plant specimens were available for populations across the arctic as part of the International Polar Year, these archives could provide a circum-arctic record of historical climate change and associated shifts in physiological plant performance and growth.},
-	pages = {997--1002},
-	number = {7},
-	journaltitle = {Global Change Biology},
-	author = {Welker, Jeffrey M. and Rayback, Shelly and Henry, Greg H. R.},
-	urldate = {2018-03-23},
-	date = {2005-07},
-	langid = {english},
-	file = {Welker et al. - 2005 - Arctic and North Atlantic Oscillation phase change.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\LKCW7B34\\Welker et al. - 2005 - Arctic and North Atlantic Oscillation phase change.pdf:application/pdf}
-}
-
-@article{andreu-hayles_long_2011,
-	title = {Long tree-ring chronologies reveal 20th century increases in water-use efficiency but no enhancement of tree growth at five Iberian pine forests: {IBERIAN} {PINE} {PHYSIOLOGICAL} {AND} {GROWTH} {CHANGES}},
-	volume = {17},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/j.1365-2486.2010.02373.x},
-	doi = {10.1111/j.1365-2486.2010.02373.x},
-	shorttitle = {Long tree-ring chronologies reveal 20th century increases in water-use efficiency but no enhancement of tree growth at five Iberian pine forests},
-	abstract = {We investigated the tree growth and physiological response of ﬁve pine forest stands in relation to changes in atmospheric {CO}2 concentration (ca) and climate in the Iberian Peninsula using annually resolved width and d13C treering chronologies since {AD} 1600. 13C discrimination (D \% ci/ca), leaf intercellular {CO}2 concentration (ci) and intrinsic water-use efﬁciency ({iWUE}) were inferred from d13C values. The most pronounced changes were observed during the second half of the 20th century, and differed between stands. Three sites kept a constant ci/ca ratio, leading to signiﬁcant ci and {iWUE} increases (active response to ca); whereas a signiﬁcant increase in ci/ca resulted in the lowest {iWUE} increase of all stands at a relict Pinus uncinata forest site (passive response to ca). A signiﬁcant decrease in ci/ca led to the greatest {iWUE} improvement at the northwestern site. We tested the climatic signal strength registered in the d13C series after removing the low-frequency trends due to the physiological responses to increasing ca. We found stronger correlations with temperature during the growing season, demonstrating that the physiological response to ca changes modulated d13C and masked the climate signal. Since 1970 higher d13C values revealed {iWUE} improvements at all the sites exceeding values expected by an active response to the ca increase alone. These patterns were related to upward trends in temperatures, indicating that other factors are reinforcing stomatal closure in these forests. Narrower rings during the second half of the 20th century than in previous centuries were observed at four sites and after 1970 at all sites, providing no evidence for a possible {CO}2 ‘fertilization’ effect on growth. The {iWUE} improvements found for all the forests, reﬂecting both a ca rise and warmer conditions, seem to be insufﬁcient to compensate for the negative effects of the increasing water limitation on growth.},
-	pages = {2095--2112},
-	number = {6},
-	journaltitle = {Global Change Biology},
-	author = {Andreu-Hayles, Laia and Planells, Octavi and {GutiéRrez}, Emilia and Muntan, Elena and Helle, Gerhard and Anchukaitis, Kevin J. and Schleser, Gerhard H.},
-	urldate = {2018-03-23},
-	date = {2011-06},
-	langid = {english},
-	file = {Andreu-Hayles et al. - 2011 - Long tree-ring chronologies reveal 20th century in.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\H4GW7466\\Andreu-Hayles et al. - 2011 - Long tree-ring chronologies reveal 20th century in.pdf:application/pdf}
-}
-
-@article{santruckova_carbon_2007,
-	title = {Carbon Isotopes in Tree Rings of Norway Spruce Exposed to Atmospheric Pollution},
-	volume = {41},
-	issn = {0013-936X, 1520-5851},
-	url = {http://pubs.acs.org/doi/abs/10.1021/es070011t},
-	doi = {10.1021/es070011t},
-	pages = {5778--5782},
-	number = {16},
-	journaltitle = {Environmental Science \& Technology},
-	author = {Šantr˚učková, Hana and Šantr˚uček, Jiří and Šetlík, Jiří and Svoboda, Miroslav and Kopáček, Jiří},
-	urldate = {2018-03-23},
-	date = {2007-08},
-	langid = {english},
-	file = {Šantr˚učková et al. - 2007 - Carbon Isotopes in Tree Rings of Norway Spruce Exp.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\XV22547M\\Šantr˚učková et al. - 2007 - Carbon Isotopes in Tree Rings of Norway Spruce Exp.pdf:application/pdf}
-}
-
-@article{roy-leveillee_permafrost_nodate,
-	title = {Permafrost conditions near shorelines of oriented lakes in Old Crow Flats, Yukon Territory},
-	abstract = {Old Crow Flats is a 4300 km2 plain in the continuous permafrost of Northern Yukon. It contains over 2500 thermokarst lakes, many of which have rectilinear shorelines and tend to be oriented either {NE}-{SW} or {NW}-{SE}. Previous explanations of the shape and orientation of the lakes focussed on the underlying geological structure and the propagation of faults through the sediments to cause the alignment of the lakeshores. Permafrost conditions and shore erosion mechanisms observed at forested and tundra sites suggest that wind and patterns of ice-wedge development may be contributing to the occurrence of rectilinear shorelines in the open tundra of Old Crow Flats.},
-	pages = {8},
-	author = {Roy-Léveillée, P and Burn, C R},
-	file = {Roy-Léveillée and Burn - Permafrost conditions near shorelines of oriented .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\F47TUKRZ\\Roy-Léveillée and Burn - Permafrost conditions near shorelines of oriented .pdf:application/pdf}
-}
-
-@book{roots_ecoregions_2006,
-	location = {Summerland, B.C.},
-	title = {Ecoregions of the Yukon Territory: biophysical properties of Yukon landscapes},
-	isbn = {978-0-660-18828-7},
-	shorttitle = {Ecoregions of the Yukon Territory},
-	publisher = {Agriculture and Agri-Food Canada, Research Branch},
-	author = {Roots, Charles Frederick and Smith, C. A. Scott and Meikle, J. C and {Canada} and {Agriculture and Agri-Food Canada}},
-	date = {2006},
-	note = {{OCLC}: 1015906693},
-	file = {Roots et al. - 2006 - Ecoregions of the Yukon Territory biophysical pro.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NL2CMXQC\\Roots et al. - 2006 - Ecoregions of the Yukon Territory biophysical pro.pdf:application/pdf}
-}
-
-@article{brock_spatial_2008,
-	title = {Spatial and temporal perspectives on spring break-up flooding in the Slave River Delta, {NWT}},
-	volume = {22},
-	issn = {08856087, 10991085},
-	url = {http://doi.wiley.com/10.1002/hyp.7008},
-	doi = {10.1002/hyp.7008},
-	abstract = {Spatial and temporal patterns of spring break-up ﬂooding in the Slave River Delta ({SRD}), Northwest Territories, are characterized during three years (2003–2005) using water isotope tracers and total inorganic suspended sediment ({TSS}) concentrations measured from lakewater samples collected shortly after the spring melt. Strongly contrasting spring melt periods led to a moderate ﬂood in 2003, no ﬂooding in 2004 and widespread ﬂooding in 2005. Flooded lakes have isotopically-depleted υ18O (υ2H) signatures, ranging between 19Ð2‰ ( 145‰) and 17Ð1‰ ( 146‰) and most have high {TSS} concentrations ({\textgreater}10 mg L 1), while non-ﬂooded lakes have more isotopically-enriched υ18O (υ2H) signatures, ranging between 18Ð2‰ ( 149‰) and 10Ð6‰ ( 118‰) and low {TSS} concentrations ({\textless}10 mg L 1). These results, in conjunction with the isotopic signatures of Slave River water and snowmelt, are used to estimate the proportion of river- or snowmelt-induced dilution in delta lakes during the spring of each study year. Calculations indicate river ﬂooding caused dilution of ¾70–100\% in delta lakes, while snowmelt dilution in the absence of river ﬂooding ranged from ¾0–56\%. A positive relationship exists between the spatial extent of spring ﬂooding in the {SRD} and level and discharge on the Slave River and upstream tributaries, suggesting that upstream ﬂow generation plays a key role in determining the magnitude of spring ﬂooding in the {SRD}. Parallel variations in the 46-year instrumental Slave River discharge record and ﬂood stratigraphy in the active delta indicate that there is potential for extending the ﬂood history of the {SRD}, a development that will contribute to a more robust understanding of the drivers of historic, contemporary and future ﬂood frequency in the delta. Copyright  2008 John Wiley \& Sons, Ltd.},
-	pages = {4058--4072},
-	number = {20},
-	journaltitle = {Hydrological Processes},
-	author = {Brock, B. E. and Wolfe, B. B. and Edwards, T. W. D.},
-	urldate = {2018-03-16},
-	date = {2008-09-30},
-	langid = {english},
-	file = {Brock et al. - 2008 - Spatial and temporal perspectives on spring break-.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\TXAM7JBF\\Brock et al. - 2008 - Spatial and temporal perspectives on spring break-.pdf:application/pdf}
-}
-
-@article{tondu_using_2013,
-	title = {Using Water Isotope Tracers to Develop the Hydrological Component of a Long-Term Aquatic Ecosystem Monitoring Program for a Northern Lake-Rich Landscape},
-	volume = {45},
-	issn = {1523-0430, 1938-4246},
-	url = {http://www.bioone.org/doi/abs/10.1657/1938-4246-45.4.594},
-	doi = {10.1657/1938-4246-45.4.594},
-	abstract = {Arctic lake-rich landscapes are vulnerable to climate change, but their remote locations present a challenge to develop effective approaches for monitoring hydroecological status and trends. Here, we structure the hydrological component of an aquatic ecosystem monitoring program that addresses concerns of Parks Canada (Vuntut National Park) and the Vuntut Gwitchin First Nation about changing water levels of Old Crow Flats ({OCF}), Yukon, Canada, a 5600-km2 thermokarst landscape recognized nationally and internationally for its ecological, historical, and cultural significance. The foundation of the monitoring program is 5 years (2007–2011) of water isotope data from 14 lakes situated in catchments that are representative of the land-cover and hydrological diversity of {OCF}. Isotopic compositions of input water (␦I) and evaporation-to-inflow (E/I) ratios, calculated using the coupled-isotope tracer method, provide key hydrological metrics for each lake over the 5-year sampling interval. From these time series, we identify monitoring lakes that are sensitive to changes in snowmelt, rainfall, and evaporation, and demonstrate the use of the Mann-Kendall test for determining statistically significant trends in the roles of these hydrological processes on lake-water balances. These approaches will serve to identify lake hydrological responses to climate change and variability from ongoing water isotope monitoring by Parks Canada, in partnership with the Vuntut Gwitchin Government, Wilfrid Laurier University, and the University of Waterloo.},
-	pages = {594--614},
-	number = {4},
-	journaltitle = {Arctic, Antarctic, and Alpine Research},
-	author = {Tondu, J. M. E. and Turner, K. W. and Wolfe, B. B. and Hall, R. I. and Edwards, T. W. D. and {McDonald}, I.},
-	urldate = {2018-03-14},
-	date = {2013-11},
-	langid = {english},
-	file = {Tondu et al. - 2013 - Using Water Isotope Tracers to Develop the Hydrolo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\C3JYWJGC\\Tondu et al. - 2013 - Using Water Isotope Tracers to Develop the Hydrolo.pdf:application/pdf}
-}
-
-@thesis{hughes_detecting_2018,
-	location = {St. Catharines},
-	title = {Detecting spatial variation in hydrology and carbon export across a lake-rich permafrost landscape, Old Crow Flats, Yukon, Canada},
-	rights = {2018 Daniel Hughes},
-	abstract = {Lake-rich permafrost landscapes are widespread across northern regions and provide refuge for abundant wildlife and resources for local communities. Evidence suggests that these landscapes are highly sensitive to changes in climate. The traditional territory of the Vuntut Gwitchin First Nation, Old Crow Flats ({OCF}), {YK}, is a vast 5600-km2 lake-rich landscape that is internationally recognized for its ecological and cultural integrity. Pronounced changes in lake and river water levels and land cover compositions have been observed during recent decades by local community members and in scientific studies. Research presented here focuses on enhancing our understanding of spatial patterns in hydrology and carbon export across {OCF}, using a suite of water chemistry parameters, carbon concentrations and water and carbon isotope tracers. The spatial patterns detected are providing an important reference for ongoing investigations of how
-changing climate and lake-rich landscapes are influencing water and carbon balances.},
-	pagetotal = {116},
-	institution = {Brock University},
-	type = {phdthesis},
-	author = {Hughes, Daniel D.},
-	editora = {Turner, Kevin W.},
-	editoratype = {collaborator},
-	date = {2018-03},
-	file = {Hughes - 2018 - Detecting spatial variation in hydrology and carbo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\C6IGSVPE\\Hughes - 2018 - Detecting spatial variation in hydrology and carbo.pdf:application/pdf}
-}
-
-@article{turner_characterising_2014,
-	title = {Characterising Runoff Generation Processes in a Lake-Rich Thermokarst Landscape (Old Crow Flats, Yukon, Canada) using δ $^{\textrm{18}}$ O, δ $^{\textrm{2}}$ H and d-excess Measurements: Characterising Runoff with Water Isotope Tracers in Old Crow Flats, Yukon},
-	volume = {25},
-	issn = {10456740},
-	url = {http://doi.wiley.com/10.1002/ppp.1802},
-	doi = {10.1002/ppp.1802},
-	shorttitle = {Characterising Runoff Generation Processes in a Lake-Rich Thermokarst Landscape (Old Crow Flats, Yukon, Canada) using δ $^{\textrm{18}}$ O, δ $^{\textrm{2}}$ H and d-excess Measurements},
-	pages = {53--59},
-	number = {1},
-	journaltitle = {Permafrost and Periglacial Processes},
-	author = {Turner, Kevin W. and Edwards, Thomas W. D. and Wolfe, Brent B.},
-	urldate = {2018-03-07},
-	date = {2014-01},
-	langid = {english},
-	file = {Turner et al. - 2014 - Characterising Runoff Generation Processes in a La.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\277B3VGI\\Turner et al. - 2014 - Characterising Runoff Generation Processes in a La.pdf:application/pdf}
-}
-
-@article{bouchard_paleolimnology_2017,
-	title = {Paleolimnology of thermokarst lakes: a window into permafrost landscape evolution},
-	volume = {3},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2016-0022},
-	doi = {10.1139/as-2016-0022},
-	shorttitle = {Paleolimnology of thermokarst lakes},
-	pages = {91--117},
-	number = {2},
-	journaltitle = {Arctic Science},
-	author = {Bouchard, Frédéric and {MacDonald}, Lauren A. and Turner, Kevin W. and Thienpont, Joshua R. and Medeiros, Andrew S. and Biskaborn, Boris K. and Korosi, Jennifer and Hall, Roland I. and Pienitz, Reinhard and Wolfe, Brent B.},
-	urldate = {2018-03-07},
-	date = {2017-06},
-	langid = {english},
-	file = {Bouchard et al. - 2017 - Paleolimnology of thermokarst lakes a window into.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\RNIVRCN4\\Bouchard et al. - 2017 - Paleolimnology of thermokarst lakes a window into.pdf:application/pdf}
-}
-
-@article{tondu_limnological_2017,
-	title = {Limnological evolution of Zelma Lake, a recently drained thermokarst lake in Old Crow Flats (Yukon, Canada)},
-	volume = {3},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2016-0012},
-	doi = {10.1139/as-2016-0012},
-	pages = {220--236},
-	number = {2},
-	journaltitle = {Arctic Science},
-	author = {Tondu, Jana M.E. and Turner, Kevin W. and Wiklund, Johan A. and Wolfe, Brent B. and Hall, Roland I. and {McDonald}, Ian},
-	urldate = {2018-03-07},
-	date = {2017-06},
-	langid = {english},
-	file = {Tondu et al. - 2017 - Limnological evolution of Zelma Lake, a recently d.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\9WQHG3HI\\Tondu et al. - 2017 - Limnological evolution of Zelma Lake, a recently d.pdf:application/pdf}
-}
-
-@article{fabre_using_2017,
-	title = {Using Modeling Tools to Better Understand Permafrost Hydrology},
-	volume = {9},
-	issn = {2073-4441},
-	url = {http://www.mdpi.com/2073-4441/9/6/418},
-	doi = {10.3390/w9060418},
-	pages = {418},
-	number = {12},
-	journaltitle = {Water},
-	author = {Fabre, Clément and Sauvage, Sabine and Tananaev, Nikita and Srinivasan, Raghavan and Teisserenc, Roman and Sánchez Pérez, José},
-	urldate = {2018-02-22},
-	date = {2017-06-10},
-	langid = {english},
-	file = {Fabre et al. - 2017 - Using Modeling Tools to Better Understand Permafro.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\HMRLJQCM\\Fabre et al. - 2017 - Using Modeling Tools to Better Understand Permafro.pdf:application/pdf}
-}
-
-@article{watts_unmanned_2012,
-	title = {Unmanned Aircraft Systems in Remote Sensing and Scientific Research: Classification and Considerations of Use},
-	volume = {4},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/4/6/1671},
-	doi = {10.3390/rs4061671},
-	shorttitle = {Unmanned Aircraft Systems in Remote Sensing and Scientific Research},
-	pages = {1671--1692},
-	number = {12},
-	journaltitle = {Remote Sensing},
-	author = {Watts, Adam C. and Ambrosia, Vincent G. and Hinkley, Everett A.},
-	urldate = {2018-02-01},
-	date = {2012-06-08},
-	langid = {english},
-	file = {Watts et al. - 2012 - Unmanned Aircraft Systems in Remote Sensing and Sc.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\XPPNT6PV\\Watts et al. - 2012 - Unmanned Aircraft Systems in Remote Sensing and Sc.pdf:application/pdf}
-}
-
-@article{schuur_vulnerability_2008,
-	title = {Vulnerability of permafrost carbon to climate change: Implications for the global carbon cycle},
-	volume = {58},
-	doi = {https://doi.org/10.1641/B580807},
-	shorttitle = {Vulnerability of permafrost carbon to climate change},
-	pages = {701--714},
-	number = {8},
-	journaltitle = {{AIBS} Bulletin},
-	author = {Schuur, Edward {AG} and Bockheim, James and Canadell, Josep G. and Euskirchen, Eugenie and Field, Christopher B. and Goryachkin, Sergey V. and Hagemann, Stefan and Kuhry, Peter and Lafleur, Peter M. and Lee, Hanna},
-	date = {2008},
-	file = {Schuur et al. - 2008 - Vulnerability of permafrost carbon to climate chan.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\RE2HU2NG\\Schuur et al. - 2008 - Vulnerability of permafrost carbon to climate chan.pdf:application/pdf}
-}
-
-@article{chenot_substrate_2017,
-	title = {Substrate Composition and Depth Affect Soil Moisture Behavior and Plant-Soil Relationship on Mediterranean Extensive Green Roofs},
-	volume = {9},
-	issn = {2073-4441},
-	url = {http://www.mdpi.com/2073-4441/9/11/817},
-	doi = {10.3390/w9110817},
-	pages = {817},
-	number = {11},
-	journaltitle = {Water},
-	author = {Chenot, Julie and Gaget, Elie and Moinardeau, Cannelle and Jaunatre, Renaud and Buisson, Elise and Dutoit, Thierry},
-	urldate = {2018-01-29},
-	date = {2017-10-25},
-	langid = {english},
-	file = {Chenot et al. - 2017 - Substrate Composition and Depth Affect Soil Moistu.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\82CYQTEA\\Chenot et al. - 2017 - Substrate Composition and Depth Affect Soil Moistu.pdf:application/pdf}
-}
-
-@article{gevaert_classification_2016,
-	title = {Classification of informal settlements through the integration of 2D and 3D features extracted from {UAV} data},
-	volume = {{III}-3},
-	issn = {2194-9050},
-	url = {http://www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net/III-3/317/2016/},
-	doi = {10.5194/isprs-annals-III-3-317-2016},
-	pages = {317--324},
-	journaltitle = {{ISPRS} Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences},
-	author = {Gevaert, C. M. and Persello, C. and Sliuzas, R. and Vosselman, G.},
-	urldate = {2018-01-25},
-	date = {2016-06-06},
-	langid = {english},
-	file = {Gevaert et al. - 2016 - Classification of informal settlements through the.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\EUBADFJI\\Gevaert et al. - 2016 - Classification of informal settlements through the.pdf:application/pdf}
-}
-
-@article{strecha_developing_2012,
-	title = {Developing species specific vegetation maps using multi-spectral hyperspatial imagery from unmanned aerial vehicles},
-	volume = {3},
-	pages = {311--316},
-	journaltitle = {{ISPRS} Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
-	author = {Strecha, Christoph and Fletcher, Andrew and Lechner, Alex and Erskine, Peter and Fua, Pascal},
-	date = {2012},
-	file = {Strecha et al. - 2012 - Developing species specific vegetation maps using .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\73HGX3PY\\Strecha et al. - 2012 - Developing species specific vegetation maps using .pdf:application/pdf}
-}
-
-@article{schuh_soil_2017,
-	title = {Soil moisture redistribution and its effect on inter-annual active layer temperature and thickness variations in a dry loess terrace in Adventdalen, Svalbard},
-	volume = {11},
-	issn = {1994-0424},
-	url = {https://www.the-cryosphere.net/11/635/2017/},
-	doi = {10.5194/tc-11-635-2017},
-	pages = {635--651},
-	number = {1},
-	journaltitle = {The Cryosphere},
-	author = {Schuh, Carina and Frampton, Andrew and Christiansen, Hanne Hvidtfeldt},
-	urldate = {2018-01-25},
-	date = {2017-02-28},
-	langid = {english},
-	file = {Schuh et al. - 2017 - Soil moisture redistribution and its effect on int.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\DVIHARFQ\\Schuh et al. - 2017 - Soil moisture redistribution and its effect on int.pdf:application/pdf}
-}
-
-@article{minsley_sensitivity_2015,
-	title = {Sensitivity of airborne geophysical data to sublacustrine and near-surface permafrost thaw},
-	volume = {9},
-	issn = {1994-0424},
-	url = {http://www.the-cryosphere.net/9/781/2015/},
-	doi = {10.5194/tc-9-781-2015},
-	pages = {781--794},
-	number = {2},
-	journaltitle = {The Cryosphere},
-	author = {Minsley, B. J. and Wellman, T. P. and Walvoord, M. A. and Revil, A.},
-	urldate = {2018-01-24},
-	date = {2015-04-27},
-	langid = {english},
-	file = {Minsley et al. - 2015 - Sensitivity of airborne geophysical data to sublac.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NRKLDFHM\\Minsley et al. - 2015 - Sensitivity of airborne geophysical data to sublac.pdf:application/pdf}
-}
-
-@article{kass_situ_2017,
-	title = {In situ nuclear magnetic resonance response of permafrost and active layer soil in boreal and tundra ecosystems},
-	volume = {11},
-	issn = {1994-0424},
-	url = {https://www.the-cryosphere.net/11/2943/2017/},
-	doi = {10.5194/tc-11-2943-2017},
-	pages = {2943--2955},
-	number = {6},
-	journaltitle = {The Cryosphere},
-	author = {Kass, M. Andy and Irons, Trevor P. and Minsley, Burke J. and Pastick, Neal J. and Brown, Dana R. N. and Wylie, Bruce K.},
-	urldate = {2018-01-24},
-	date = {2017-12-14},
-	langid = {english},
-	file = {Kass et al. - 2017 - In situ nuclear magnetic resonance response of per.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\73SJ7YKA\\Kass et al. - 2017 - In situ nuclear magnetic resonance response of per.pdf:application/pdf}
-}
-
-@article{walvoord_influence_2012,
-	title = {Influence of permafrost distribution on groundwater flow in the context of climate-driven permafrost thaw: Example from Yukon Flats Basin, Alaska, United States: {PERMAFROST} {DISTRIBUTION} {AND} {GROUNDWATER} {FLOW}},
-	volume = {48},
-	issn = {00431397},
-	url = {http://doi.wiley.com/10.1029/2011WR011595},
-	doi = {10.1029/2011WR011595},
-	shorttitle = {Influence of permafrost distribution on groundwater flow in the context of climate-driven permafrost thaw},
-	number = {7},
-	journaltitle = {Water Resources Research},
-	author = {Walvoord, Michelle A. and Voss, Clifford I. and Wellman, Tristan P.},
-	urldate = {2018-01-24},
-	date = {2012-07},
-	langid = {english},
-	file = {Walvoord et al. - 2012 - Influence of permafrost distribution on groundwate.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\528PXEWI\\Walvoord et al. - 2012 - Influence of permafrost distribution on groundwate.pdf:application/pdf}
-}
-
-@article{vonk_high_2013,
-	title = {High biolability of ancient permafrost carbon upon thaw: {BIOLABILITY} {OF} {ANCIENT} {PERMAFROST} {CARBON}},
-	volume = {40},
-	issn = {00948276},
-	url = {http://doi.wiley.com/10.1002/grl.50348},
-	doi = {10.1002/grl.50348},
-	shorttitle = {High biolability of ancient permafrost carbon upon thaw},
-	pages = {2689--2693},
-	number = {11},
-	journaltitle = {Geophysical Research Letters},
-	author = {Vonk, Jorien E. and Mann, Paul J. and Davydov, Sergey and Davydova, Anna and Spencer, Robert G. M. and Schade, John and Sobczak, William V. and Zimov, Nikita and Zimov, Sergei and Bulygina, Ekaterina and Eglinton, Timothy I. and Holmes, Robert M.},
-	urldate = {2018-01-24},
-	date = {2013-06-16},
-	langid = {english},
-	file = {Vonk et al. - 2013 - High biolability of ancient permafrost carbon upon.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\WVV4DVTG\\Vonk et al. - 2013 - High biolability of ancient permafrost carbon upon.pdf:application/pdf}
-}
-
-@article{striegl_decrease_2005,
-	title = {A decrease in discharge-normalized {DOC} export by the Yukon River during summer through autumn},
-	volume = {32},
-	issn = {0094-8276},
-	url = {http://doi.wiley.com/10.1029/2005GL024413},
-	doi = {10.1029/2005GL024413},
-	number = {21},
-	journaltitle = {Geophysical Research Letters},
-	author = {Striegl, Robert G. and Aiken, George R. and Dornblaser, Mark M. and Raymond, Peter A. and Wickland, Kimberly P.},
-	urldate = {2018-01-24},
-	date = {2005},
-	langid = {english},
-	file = {Striegl et al. - 2005 - A decrease in discharge-normalized DOC export by t.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\Y9FY79WV\\Striegl et al. - 2005 - A decrease in discharge-normalized DOC export by t.pdf:application/pdf}
-}
-
-@article{khedri_estimating_2017,
-	title = {Estimating soil moisture using {POLSAR} data: a machine learning approach},
-	volume = {{XLII}-4/W4},
-	issn = {2194-9034},
-	url = {https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLII-4-W4/133/2017/},
-	doi = {10.5194/isprs-archives-XLII-4-W4-133-2017},
-	shorttitle = {{ESTIMATING} {SOIL} {MOISTURE} {USING} {POLSAR} {DATA}},
-	pages = {133--137},
-	journaltitle = {{ISPRS} - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
-	author = {Khedri, E. and Hasanlou, M. and Tabatabaeenejad, A.},
-	urldate = {2018-01-23},
-	date = {2017-09-26},
-	langid = {english},
-	file = {Khedri et al. - 2017 - Estimating soil moisture using POLSAR data a mach.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\LGWFBNJS\\Khedri et al. - 2017 - Estimating soil moisture using POLSAR data a mach.pdf:application/pdf}
-}
-
-@article{olefeldt_circumpolar_2016,
-	title = {Circumpolar distribution and carbon storage of thermokarst landscapes},
-	volume = {7},
-	issn = {2041-1723},
-	url = {http://www.nature.com/doifinder/10.1038/ncomms13043},
-	doi = {10.1038/ncomms13043},
-	pages = {13043},
-	journaltitle = {Nature Communications},
-	author = {Olefeldt, D. and Goswami, S. and Grosse, G. and Hayes, D. and Hugelius, G. and Kuhry, P. and {McGuire}, A. D. and Romanovsky, V. E. and Sannel, A.B.K. and Schuur, E.A.G. and Turetsky, M. R.},
-	urldate = {2018-01-23},
-	date = {2016-10-11},
-	file = {Olefeldt et al. - 2016 - Circumpolar distribution and carbon storage of the.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SWZ2MFY7\\Olefeldt et al. - 2016 - Circumpolar distribution and carbon storage of the.pdf:application/pdf}
-}
-
-@article{bourgeau-chavez_development_2010,
-	title = {Development of calibration algorithms for selected water content reflectometry probes for burned and non-burned organic soils of Alaska},
-	volume = {19},
-	issn = {1049-8001},
-	url = {http://www.publish.csiro.au/?paper=WF07175},
-	doi = {10.1071/WF07175},
-	pages = {961},
-	number = {7},
-	journaltitle = {International Journal of Wildland Fire},
-	author = {Bourgeau-Chavez, Laura L. and Garwood, Gordon C. and Riordan, Kevin and Koziol, Benjamin W. and Slawski, James},
-	urldate = {2018-01-10},
-	date = {2010},
-	langid = {english},
-	file = {Bourgeau-Chavez et al. - 2010 - Development of calibration algorithms for selected.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QTKBP7QQ\\Bourgeau-Chavez et al. - 2010 - Development of calibration algorithms for selected.pdf:application/pdf}
-}
-
-@inproceedings{whitcomb_method_2016,
-	title = {Method for upscaling in-situ soil moisture measurements for calibration and validation of smap soil moisture products},
-	isbn = {978-1-5090-3332-4},
-	url = {http://ieeexplore.ieee.org/document/7729419/},
-	doi = {10.1109/IGARSS.2016.7729419},
-	pages = {1641--1644},
-	publisher = {{IEEE}},
-	author = {Whitcomb, J. and Clewley, D. and Akbar, R. and Silva, A. and Berg, A. and Adams, J. and Moghaddam, M.},
-	editor = {{Uknown}},
-	urldate = {2018-01-05},
-	date = {2016-07}
-}
-
-@article{clewley_method_2017,
-	title = {A Method for Upscaling In Situ Soil Moisture Measurements to Satellite Footprint Scale Using Random Forests},
-	volume = {10},
-	issn = {1939-1404, 2151-1535},
-	url = {http://ieeexplore.ieee.org/document/7907192/},
-	doi = {10.1109/JSTARS.2017.2690220},
-	pages = {2663--2673},
-	number = {6},
-	journaltitle = {{IEEE} Journal of Selected Topics in Applied Earth Observations and Remote Sensing},
-	author = {Clewley, Daniel and Whitcomb, Jane B. and Akbar, Ruzbeh and Silva, Agnelo R. and Berg, Aaron and Adams, Justin R. and Caldwell, Todd and Entekhabi, Dara and Moghaddam, Mahta},
-	urldate = {2018-01-05},
-	date = {2017-06}
-}
-
-@article{street_what_2007,
-	title = {What is the relationship between changes in canopy leaf area and changes in photosynthetic {CO}2 flux in arctic ecosystems?},
-	volume = {95},
-	issn = {1365-2745},
-	url = {http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2745.2006.01187.x/abstract},
-	doi = {10.1111/j.1365-2745.2006.01187.x},
-	abstract = {* 1The arctic environment is highly heterogeneous in terms of plant distribution and productivity. If we are to make regional scale predictions of carbon exchange it is necessary to find robust relationships that can simplify this variability. One such potential relationship is that of leaf area to photosynthetic {CO}2 flux at the canopy scale.
-* 2In this paper we assess the effectiveness of canopy leaf area in explaining variation in gross primary productivity ({GPP}): (i) across different vegetation types; (ii) at various stages of leaf development; and (iii) under enhanced nutrient availability. To do this we measure net {CO}2 flux light response curves with a 1 × 1 m chamber, and calculate {GPP} at a photosynthetic photon flux density ({PPFD}) of 600 µmol m−2 s−1.
-* 3At a subarctic site in Sweden, we report 10-fold variation in {GPP} among natural vegetation types with leaf area index ({LAI}) values of 0.05–2.31 m2 m−2. At a site of similar latitude in Alaska we document substantially elevated rates of {GPP} in fertilized vegetation.
-* 4We can explain 80\% of the observed variation in {GPP} in natural vegetation (including vegetation measured before deciduous leaf bud burst) by leaf area alone, when leaf area is predicted from measurements of normalized difference vegetation index ({NDVI}).
-* 5In fertilized vegetation the relative increase in leaf area between control and fertilized treatments exceeds the relative increase in {GPP}. This suggests that higher leaf area causes increased self-shading, or that lower leaf nitrogen per unit leaf area causes a reduction in the rate of photosynthesis.
-* 6The results of this study indicate that canopy leaf area is an excellent predictor of {GPP} in diverse low arctic tundra, across a wide range of plant functional types.},
-	pages = {139--150},
-	number = {1},
-	journaltitle = {Journal of Ecology},
-	author = {Street, L. E. and Shaver, G. R. and Williams, M. and Van Wijk, M. T.},
-	urldate = {2018-01-04},
-	date = {2007-01-01},
-	langid = {english},
-	keywords = {Alaska, Arctic tundra, carbon balance, {CO}2 flux, gross primary productivity, landscape heterogeneity, leaf area index, light response, normalized difference vegetation index, Sweden},
-	file = {Street et al. - 2007 - What is the relationship between changes in canopy.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4TA5BNA3\\Street et al. - 2007 - What is the relationship between changes in canopy.pdf:application/pdf}
-}
-
-@article{von_fischer_vegetation_2010,
-	title = {Vegetation height and other controls of spatial variability in methane emissions from the Arctic coastal tundra at Barrow, Alaska},
-	volume = {115},
-	issn = {2156-2202},
-	url = {http://onlinelibrary.wiley.com/doi/10.1029/2009JG001283/abstract},
-	doi = {10.1029/2009JG001283},
-	abstract = {We conducted measurements of methane ({CH}4) emission and ecosystem respiration on {\textgreater}200 points across the Arctic coastal tundra near Barrow, Alaska, United States, in July 2007 and August 2008. This site contains broad diversity in tundra microtopography, including polygonal tundra, thaw lakes, and drained lake basins. In 2007, we surveyed {CH}4 emissions across this landscape, and found that soil water content was the strongest control of methane emission rate, such that emission rates rose exponentially with water content. However, there was considerable residual variation in {CH}4 emission in the wettest soils ({\textgreater}80\% volumetric water content) where {CH}4 emissions were highest. A statistical analysis of possible soil and plant controls on {CH}4 emission rates from these wet soils revealed that vegetation height (especially of Carex aquatilis) was the best predictor, with ecosystem respiration and permafrost depth as significant copredictors. To evaluate whether plant height served as a proxy for aboveground plant biomass, or gross primary production, we conducted a survey of {CH}4 emission rates from wet, Carex-dominated sites in 2008, coincidently measuring these candidate predictors. Surprisingly, vegetation height remained the best predictor of {CH}4 emission rates, with {CH}4 emissions rising exponentially with vegetation height. We hypothesize that taller plants have more extensive root systems that both stimulate more methanogenesis and conduct more pore water {CH}4 to the atmosphere. We anticipate that the magnitude of the climate change–{CH}4 feedback in the Arctic Coastal Plain will strongly depend on how permafrost thaw alters the ecology of Carex aquatilis.},
-	pages = {G00I03},
-	issue = {G4},
-	journaltitle = {Journal of Geophysical Research: Biogeosciences},
-	shortjournal = {J. Geophys. Res.},
-	author = {von Fischer, Joseph C. and Rhew, Robert C. and Ames, Gregory M. and Fosdick, Bailey K. and von Fischer, Paul E.},
-	urldate = {2018-01-04},
-	date = {2010-12-01},
-	langid = {english},
-	keywords = {0404 Anoxic and hypoxic environments, 0428 Carbon cycling, 0476 Plant ecology, 0490 Trace gases, 0497 Wetlands, Carex aquatilis, methane, tundra},
-	file = {Snapshot:C\:\\Users\\Brent Thorne\\Zotero\\storage\\L22276TK\\abstract.html:text/html;von Fischer et al. - 2010 - Vegetation height and other controls of spatial va.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\2J374FDT\\von Fischer et al. - 2010 - Vegetation height and other controls of spatial va.pdf:application/pdf}
-}
-
-@article{delworth_influence_1988,
-	title = {The Influence of Potential Evaporation on the Variabilities of Simulated Soil Wetness and Climate},
-	volume = {1},
-	url = {http://journals.ametsoc.org/doi/abs/10.1175/1520-0442%281988%29001%3C0523%3ATIOPEO%3E2.0.CO%3B2},
-	doi = {10.1175/1520-0442(1988)001<0523:TIOPEO>2.0.CO;2},
-	abstract = {Abstract An atmospheric general circulation model with prescribed sea surface temperature and cloudiness was integrated for 50 years in order to study atmosphere-land surface interactions. The temporal variability of model soil moisture and precipitation have been studied in an effort to understand the interactions of these variables with other components of the climate system. Temporal variability analysis has shown that the spectra of monthly mean precipitation over land are close to white at all latitudes, with total variance decreasing poleward. In contrasts, the spectra of soil moisture are red, and become more red with increasing latitude. As a measure of this redness, half of the total variance of a composite tropical soil moisture spectrum occurs at periods longer than nine months, while at high latitudes, half of the total variance of a composite soil moisture spectrum occurs at periods longer than 22 months. The spectra of soil moisture also exhibit marked longitudinal variations. These spectral results may be viewed in the light of stochastic theory. The formulation of the {GFDL} soil moisture parameterization is mathematically similar to a stochastic process. According to this model, forcing of a system by an input white noise variable (precipitation) will yield an output variable (soil moisture) with a red spectrum, the redness of which is controlled by a damping term (potential evaporation). Thus, the increasingly red nature of the soil moisture spectra at higher latitudes is a result of declining potential evaporation values at higher latitudes. Physically, soil moisture excesses are dissipated more slowly at high latitudes where the energy available for evaporation is small. Some of the longitudinal variations in soil moisture spectra result from longitudinal variations in potential evaporation, while others are explicable in terms of the value of the ratio of potential evaporation to precipitation. Regions where this value is less than one are characterized by frequent runoff and short time scales of soil moisture variability. By preventing excessive positive anomalies of soil moisture, the runoff process hastens the return of soil moisture values to their mean state, thereby shortening soil moisture time scales. Through the use of a second {GCM} integration with prescribed soil moisture, it was shown that interactive sod moisture may substantially increase summer surface air temperature variability. Soil moisture interacts with the atmosphere primarily through the surface energy balance. The degree of soil saturation strongly influences the atmosphere of outgoing energy from the surface between the latent and sensible heat fluxes. Interactive soil moisture allows larger variations of these fluxes, thereby increasing the variance of surface air temperature. Because the flux of latent heat is directly proportional to potential evaporation under conditions of sufficient moisture, the influence of soil moisture on the atmosphere is greatest when the potential evaporation value is large. This occurs most frequently in the tropics and summer hemisphere extratropics.},
-	pages = {523--547},
-	number = {5},
-	journaltitle = {Journal of Climate},
-	author = {Delworth, Thomas L. and Manabe, Syukuro},
-	date = {1988},
-	note = {bibtex[eprint=http://journals.ametsoc.org/doi/pdf/10.1175/1520-0442\%281988\%29001\%3C0523\%3ATIOPEO\%3E2.0.{CO}\%3B2]},
-	file = {Delworth and Manabe - 1988 - The Influence of Potential Evaporation on the Vari.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4IRHH9AM\\Delworth and Manabe - 1988 - The Influence of Potential Evaporation on the Vari.pdf:application/pdf}
-}
-
-@article{chen_temporal_2014,
-	title = {Temporal and spatial pattern of thermokarst lake area changes at Yukon Flats, Alaska},
-	volume = {28},
-	issn = {08856087},
-	url = {http://doi.wiley.com/10.1002/hyp.9642},
-	doi = {10.1002/hyp.9642},
-	shorttitle = {Temporal and spatial pattern of thermokarst lake area changes at Yukon Flats, Alaska},
-	pages = {837--852},
-	number = {3},
-	journaltitle = {Hydrological Processes},
-	author = {Chen, Min and Rowland, Joel C. and Wilson, Cathy J. and Altmann, Garrett L. and Brumby, Steven P.},
-	urldate = {2018-01-03},
-	date = {2014-01-30},
-	langid = {english},
-	file = {Chen et al. - 2014 - Temporal and spatial pattern of thermokarst lake a.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\L3765CJI\\Chen et al. - 2014 - Temporal and spatial pattern of thermokarst lake a.pdf:application/pdf}
-}
-
-@article{arp_depth_2015,
-	title = {Depth, ice thickness, and ice-out timing cause divergent hydrologic responses among Arctic lakes: {ICE} {CAUSES} {DIVERGENT} {HYDROLOGIC} {RESPONSES} {AMONG} {ARCTIC} {LAKES}},
-	volume = {51},
-	issn = {00431397},
-	url = {http://doi.wiley.com/10.1002/2015WR017362},
-	doi = {10.1002/2015WR017362},
-	shorttitle = {Depth, ice thickness, and ice-out timing cause divergent hydrologic responses among Arctic lakes},
-	pages = {9379--9401},
-	number = {12},
-	journaltitle = {Water Resources Research},
-	author = {Arp, Christopher D. and Jones, Benjamin M. and Liljedahl, Anna K. and Hinkel, Kenneth M. and Welker, Jeffery A.},
-	urldate = {2018-01-03},
-	date = {2015-12},
-	langid = {english},
-	file = {Arp et al. - 2015 - Depth, ice thickness, and ice-out timing cause div.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\VB4TAZA6\\Arp et al. - 2015 - Depth, ice thickness, and ice-out timing cause div.pdf:application/pdf}
-}
-
-@article{minsley_airborne_2012,
-	title = {Airborne electromagnetic imaging of discontinuous permafrost: {AEM} {IMAGING} {OF} {PERMAFROST}},
-	volume = {39},
-	issn = {00948276},
-	url = {http://doi.wiley.com/10.1029/2011GL050079},
-	doi = {10.1029/2011GL050079},
-	shorttitle = {Airborne electromagnetic imaging of discontinuous permafrost},
-	pages = {n/a--n/a},
-	number = {2},
-	journaltitle = {Geophysical Research Letters},
-	author = {Minsley, Burke J. and Abraham, Jared D. and Smith, Bruce D. and Cannia, James C. and Voss, Clifford I. and Jorgenson, M. Torre and Walvoord, Michelle A. and Wylie, Bruce K. and Anderson, Lesleigh and Ball, Lyndsay B. and Deszcz-Pan, Maryla and Wellman, Tristan P. and Ager, Thomas A.},
-	urldate = {2018-01-03},
-	date = {2012-01},
-	langid = {english},
-	file = {Minsley et al. - 2012 - Airborne electromagnetic imaging of discontinuous .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\8J2PUMRQ\\Minsley et al. - 2012 - Airborne electromagnetic imaging of discontinuous .pdf:application/pdf}
-}
-
-@article{liu_estimating_2012,
-	title = {Estimating 1992-2000 average active layer thickness on the Alaskan North Slope from remotely sensed surface subsidence: {REMOTELY} {SENSING} {ACTIVE} {LAYER} {THICKNESS}},
-	volume = {117},
-	issn = {01480227},
-	url = {http://doi.wiley.com/10.1029/2011JF002041},
-	doi = {10.1029/2011JF002041},
-	shorttitle = {Estimating 1992-2000 average active layer thickness on the Alaskan North Slope from remotely sensed surface subsidence},
-	pages = {n/a--n/a},
-	issue = {F1},
-	journaltitle = {Journal of Geophysical Research: Earth Surface},
-	author = {Liu, Lin and Schaefer, Kevin and Zhang, Tingjun and Wahr, John},
-	urldate = {2018-01-03},
-	date = {2012-03},
-	langid = {english},
-	file = {Liu et al. - 2012 - Estimating 1992-2000 average active layer thicknes.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\YZH67QQQ\\Liu et al. - 2012 - Estimating 1992-2000 average active layer thicknes.pdf:application/pdf}
-}
-
-@thesis{thorne_using_2017,
-	location = {St. Catharines},
-	title = {Using unmanned aviation vehicle ({UAV}) multi-spectral remote sensing to detect shrub vegetation characteristics in Old Crow Flats, Yukon},
-	rights = {Copyright (c) William Brent Thorne 2017},
-	abstract = {Climate change is having major impacts on northern regions. Shrub vegetation proliferation is an example of how land cover is being modified, which can influence ground biophysical conditions and the hydrology of lake-rich landscapes. These impacts are being investigated in Old Crow Flats, Yukon, traditional territory of the Vuntut Gwitchin First Nation who rely on the resources of this landscape to support their traditional lifestyle. Vegetation conditions of two 90-m x 90-m plots were investigated using dendrochronology and high-resolution multi-spectral images captured using an unmanned aviation vehicle ({UAV}). Dendrochronology results showed that the average age for shrub vegetation was 28 years old (standard deviation = 13.65). The dominant species in the two plots included green alder (Alnus viridis,), dwarf birch (Betula nan), and willow (Salix sp.). Red and near-infrared bands of the multi-spectral images were used to calculate normalized difference vegetation index values ({NDVI}) for the two plots, which is an indicator of plant chlorophyll and phytomass. Vegetation characteristics measured on the ground were compared to {NDVI} values to identify whether {NDVI} may be used to differentiate species and plant age. Results of this research show that coupling {UAV} technology with ground measurements may be highly useful for identifying shrub species and age in lake-rich Arctic landscapes such as Old Crow Flats, Yukon. Integrated approaches being developed here are enhancing hydroecological monitoring protocols, which are providing the basis to identify how
-this landscape is responding to a changing climate.},
-	pagetotal = {49},
-	institution = {Brock University},
-	type = {Undergraduate Thesis},
-	author = {Thorne, W. Brent},
-	editora = {Turner, Kevin W.},
-	editoratype = {collaborator},
-	date = {2017},
-	keywords = {hydrology, {NDVI}, remote sensing, shrub, Thorne, {UAV}, unmanned aviation vehicle, vegetation},
-	file = {Thorne - 2017 - Using unmanned aviation vehicle (UAV) multi-spectr.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\U7ZUJ56M\\Thorne - 2017 - Using unmanned aviation vehicle (UAV) multi-spectr.pdf:application/pdf}
-}
-
-@incollection{roy-leveillee_old_2017,
-	title = {Old Crow Flats: Thermokarst Lakes in the Forest–Tundra Transition},
-	url = {http://link.springer.com/chapter/10.1007/978-3-319-44595-3_19},
-	shorttitle = {Old Crow Flats},
-	pages = {267--276},
-	booktitle = {Landscapes and Landforms of Western Canada},
-	publisher = {Springer},
-	author = {Roy-Leveillee, Pascale and Burn, Christopher R.},
-	editor = {Slaymaker, Olav},
-	urldate = {2017-07-31},
-	date = {2017},
-	file = {Roy-Léveillée and Burn - 2017 - Old Crow Flats Thermokarst Lakes in the Forest–Tu.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\TZQISKEQ\\Roy-Léveillée and Burn - 2017 - Old Crow Flats Thermokarst Lakes in the Forest–Tu.pdf:application/pdf}
-}
-
-@article{engram_characterization_2013,
-	title = {Characterization of L-band synthetic aperture radar ({SAR}) backscatter from floating and grounded thermokarst lake ice in Arctic Alaska},
-	volume = {7},
-	issn = {1994-0424},
-	url = {http://www.the-cryosphere.net/7/1741/2013/},
-	doi = {10.5194/tc-7-1741-2013},
-	pages = {1741--1752},
-	number = {6},
-	journaltitle = {The Cryosphere},
-	author = {Engram, M. and Anthony, K. W. and Meyer, F. J. and Grosse, G.},
-	urldate = {2018-01-02},
-	date = {2013-11-14},
-	langid = {english},
-	file = {Engram et al. - 2013 - Characterization of L-band synthetic aperture rada.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4WZ9FCKA\\Engram et al. - 2013 - Characterization of L-band synthetic aperture rada.pdf:application/pdf}
-}
-
-@article{minsley_evidence_2016,
-	title = {Evidence for nonuniform permafrost degradation after fire in boreal landscapes: {MAPPING} {POSTFIRE} {PERMAFROST} {DEGRADATION}},
-	volume = {121},
-	issn = {21699003},
-	url = {http://doi.wiley.com/10.1002/2015JF003781},
-	doi = {10.1002/2015JF003781},
-	shorttitle = {Evidence for nonuniform permafrost degradation after fire in boreal landscapes},
-	pages = {320--335},
-	number = {2},
-	journaltitle = {Journal of Geophysical Research: Earth Surface},
-	author = {Minsley, Burke J. and Pastick, Neal J. and Wylie, Bruce K. and Brown, Dana R. N. and Andy Kass, M.},
-	urldate = {2018-01-02},
-	date = {2016-02},
-	langid = {english},
-	file = {Minsley et al. - 2016 - Evidence for nonuniform permafrost degradation aft.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BPUM7RZI\\Minsley et al. - 2016 - Evidence for nonuniform permafrost degradation aft.pdf:application/pdf}
-}
-
-@article{tabatabaeenejad_p-band_2015,
-	title = {P-Band Radar Retrieval of Subsurface Soil Moisture Profile as a Second-Order Polynomial: First {AirMOSS} Results},
-	volume = {53},
-	issn = {0196-2892, 1558-0644},
-	url = {http://ieeexplore.ieee.org/document/6839044/},
-	doi = {10.1109/TGRS.2014.2326839},
-	shorttitle = {P-Band Radar Retrieval of Subsurface Soil Moisture Profile as a Second-Order Polynomial},
-	pages = {645--658},
-	number = {2},
-	journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing},
-	author = {Tabatabaeenejad, Alireza and Burgin, Mariko and {Xueyang Duan} and Moghaddam, Mahta},
-	urldate = {2018-01-02},
-	date = {2015-02},
-	file = {Tabatabaeenejad et al. - 2015 - P-Band Radar Retrieval of Subsurface Soil Moisture.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\CGW3899H\\Tabatabaeenejad et al. - 2015 - P-Band Radar Retrieval of Subsurface Soil Moisture.pdf:application/pdf}
-}
-
-@article{sadeghi_advancing_2016,
-	title = {Advancing {NASA}’s {AirMOSS} P-Band Radar Root Zone Soil Moisture Retrieval Algorithm via Incorporation of Richards’ Equation},
-	volume = {9},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/9/1/17},
-	doi = {10.3390/rs9010017},
-	pages = {17},
-	number = {1},
-	journaltitle = {Remote Sensing},
-	author = {Sadeghi, Morteza and Tabatabaeenejad, Alireza and Tuller, Markus and Moghaddam, Mahta and Jones, Scott},
-	urldate = {2018-01-02},
-	date = {2016-12-28},
-	langid = {english},
-	file = {Sadeghi et al. - 2016 - Advancing NASA’s AirMOSS P-Band Radar Root Zone So.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QBJQWC47\\Sadeghi et al. - 2016 - Advancing NASA’s AirMOSS P-Band Radar Root Zone So.pdf:application/pdf}
-}
-
-@article{riley_characterizing_2014,
-	title = {Characterizing coarse-resolution watershed soil moisture heterogeneity using fine-scale simulations},
-	volume = {18},
-	issn = {1607-7938},
-	url = {http://www.hydrol-earth-syst-sci.net/18/2463/2014/},
-	doi = {10.5194/hess-18-2463-2014},
-	pages = {2463--2483},
-	number = {7},
-	journaltitle = {Hydrology and Earth System Sciences},
-	author = {Riley, W. J. and Shen, C.},
-	urldate = {2018-01-02},
-	date = {2014-07-03},
-	langid = {english},
-	file = {Riley and Shen - 2014 - Characterizing coarse-resolution watershed soil mo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\RBQPC368\\Riley and Shen - 2014 - Characterizing coarse-resolution watershed soil mo.pdf:application/pdf}
-}
-
-@article{lawrence_permafrost_2015,
-	title = {Permafrost thaw and resulting soil moisture changes regulate projected high-latitude {CO} $_{\textrm{2}}$ and {CH} $_{\textrm{4}}$ emissions},
-	volume = {10},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/10/i=9/a=094011?key=crossref.0ec3ff97879a814d0c3dfaacde810d23},
-	doi = {10.1088/1748-9326/10/9/094011},
-	pages = {094011},
-	number = {9},
-	journaltitle = {Environmental Research Letters},
-	author = {Lawrence, D M and Koven, C D and Swenson, S C and Riley, W J and Slater, A G},
-	urldate = {2018-01-02},
-	date = {2015-09-01},
-	file = {Lawrence et al. - 2015 - Permafrost thaw and resulting soil moisture change.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BIWWD7UN\\Lawrence et al. - 2015 - Permafrost thaw and resulting soil moisture change.pdf:application/pdf}
-}
-
-@article{myers-smith_shrub_2013,
-	title = {Shrub canopies influence soil temperatures but not nutrient dynamics: An experimental test of tundra snow-shrub interactions},
-	volume = {3},
-	issn = {20457758},
-	url = {http://doi.wiley.com/10.1002/ece3.710},
-	doi = {10.1002/ece3.710},
-	shorttitle = {Shrub canopies influence soil temperatures but not nutrient dynamics},
-	pages = {3683--3700},
-	number = {11},
-	journaltitle = {Ecology and Evolution},
-	author = {Myers-Smith, Isla H. and Hik, David S.},
-	urldate = {2018-01-01},
-	date = {2013-10},
-	langid = {english},
-	file = {Myers-Smith_et_al-2013-Ecology_and_Evolution.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BXJH6H4S\\Myers-Smith_et_al-2013-Ecology_and_Evolution.pdf:application/pdf}
-}
-
-@article{jorgenson_remote_2016,
-	title = {Remote Sensing of Landscape Change in Permafrost Regions: Remote Sensing of Landscape Change in Permafrost Regions},
-	volume = {27},
-	issn = {10456740},
-	url = {http://doi.wiley.com/10.1002/ppp.1914},
-	doi = {10.1002/ppp.1914},
-	shorttitle = {Remote Sensing of Landscape Change in Permafrost Regions},
-	pages = {324--338},
-	number = {4},
-	journaltitle = {Permafrost and Periglacial Processes},
-	author = {Jorgenson, Mark Torre and Grosse, Guido},
-	urldate = {2017-12-23},
-	date = {2016-10},
-	langid = {english},
-	file = {Jorgenson_et_al-2016-Permafrost_and_Periglacial_Processes.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\A2EE3KVX\\Jorgenson_et_al-2016-Permafrost_and_Periglacial_Processes.pdf:application/pdf}
-}
-
-@article{gilabert_generalized_2002,
-	title = {A generalized soil-adjusted vegetation index},
-	volume = {82},
-	pages = {303--310},
-	number = {2},
-	journaltitle = {Remote Sensing of environment},
-	author = {Gilabert, M. A. and González-Piqueras, J. and Garcıa-Haro, F. J. and Meliá, J.},
-	date = {2002},
-	file = {Gilabert et al. - 2002 - A generalized soil-adjusted vegetation index.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ET3DR4XH\\Gilabert et al. - 2002 - A generalized soil-adjusted vegetation index.pdf:application/pdf}
-}
-
-@article{huete_soil-adjusted_1988,
-	title = {A soil-adjusted vegetation index ({SAVI})},
-	volume = {25},
-	pages = {295--309},
-	number = {3},
-	journaltitle = {Remote sensing of environment},
-	author = {Huete, Alfredo R.},
-	date = {1988},
-	file = {Huete - 1988 - A soil-adjusted vegetation index (SAVI).pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\V6TUS789\\Huete - 1988 - A soil-adjusted vegetation index (SAVI).pdf:application/pdf}
-}
-
-@article{candiago_evaluating_2015,
-	title = {Evaluating Multispectral Images and Vegetation Indices for Precision Farming Applications from {UAV} Images},
-	volume = {7},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/7/4/4026/},
-	doi = {10.3390/rs70404026},
-	pages = {4026--4047},
-	number = {4},
-	journaltitle = {Remote Sensing},
-	author = {Candiago, Sebastian and Remondino, Fabio and De Giglio, Michaela and Dubbini, Marco and Gattelli, Mario},
-	urldate = {2017-12-20},
-	date = {2015-04-02},
-	langid = {english},
-	file = {Candiago et al. - 2015 - Evaluating Multispectral Images and Vegetation Ind.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\KQXU52BU\\Candiago et al. - 2015 - Evaluating Multispectral Images and Vegetation Ind.pdf:application/pdf}
-}
-
-@article{albetis_detection_2017,
-	title = {Detection of Flavescence dorée Grapevine Disease Using Unmanned Aerial Vehicle ({UAV}) Multispectral Imagery},
-	volume = {9},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/9/4/308},
-	doi = {10.3390/rs9040308},
-	pages = {308},
-	number = {4},
-	journaltitle = {Remote Sensing},
-	author = {Albetis, Johanna and Duthoit, Sylvie and Guttler, Fabio and Jacquin, Anne and Goulard, Michel and Poilvé, Hervé and Féret, Jean-Baptiste and Dedieu, Gérard},
-	urldate = {2017-12-20},
-	date = {2017-03-24},
-	langid = {english},
-	file = {Albetis et al. - 2017 - Detection of Flavescence dorée Grapevine Disease U.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\TG2QSUD4\\Albetis et al. - 2017 - Detection of Flavescence dorée Grapevine Disease U.pdf:application/pdf}
-}
-
-@article{lopez-lopez_early_2016,
-	title = {Early Detection and Quantification of Almond Red Leaf Blotch Using High-Resolution Hyperspectral and Thermal Imagery},
-	volume = {8},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/8/4/276},
-	doi = {10.3390/rs8040276},
-	pages = {276},
-	number = {4},
-	journaltitle = {Remote Sensing},
-	author = {López-López, Manuel and Calderón, Rocío and González-Dugo, Victoria and Zarco-Tejada, Pablo and Fereres, Elías},
-	urldate = {2017-12-20},
-	date = {2016-03-25},
-	langid = {english},
-	file = {López-López et al. - 2016 - Early Detection and Quantification of Almond Red L.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\6KFIEIW3\\López-López et al. - 2016 - Early Detection and Quantification of Almond Red L.pdf:application/pdf}
-}
-
-@article{balasubramaniam_biotic_2017,
-	title = {Biotic responses to multiple aquatic and terrestrial gradients in shallow subarctic lakes (Old Crow Flats, Yukon, Canada)},
-	volume = {3},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2016-0021},
-	doi = {10.1139/as-2016-0021},
-	pages = {277--300},
-	number = {2},
-	journaltitle = {Arctic Science},
-	author = {Balasubramaniam, A.M. and Medeiros, A.S. and Turner, K.W. and Hall, R.I. and Wolfe, B.B.},
-	urldate = {2017-12-18},
-	date = {2017-06},
-	langid = {english},
-	file = {Balasubramaniam et al. - 2017 - Biotic responses to multiple aquatic and terrestri.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\Q5WUQE2F\\Balasubramaniam et al. - 2017 - Biotic responses to multiple aquatic and terrestri.pdf:application/pdf}
-}
-
-@article{walvoord_hydrologic_2016,
-	title = {Hydrologic Impacts of Thawing Permafrost—A Review},
-	volume = {15},
-	issn = {1539-1663},
-	url = {https://dl.sciencesocieties.org/publications/vzj/abstracts/15/6/vzj2016.01.0010},
-	doi = {10.2136/vzj2016.01.0010},
-	pages = {0},
-	number = {6},
-	journaltitle = {Vadose Zone Journal},
-	author = {Walvoord, Michelle A. and Kurylyk, Barret L.},
-	urldate = {2017-12-18},
-	date = {2016},
-	langid = {english}
-}
-
-@article{wang_analysis_2017,
-	title = {Analysis of Differences in Phenology Extracted from the Enhanced Vegetation Index and the Leaf Area Index},
-	volume = {17},
-	issn = {1424-8220},
-	url = {http://www.mdpi.com/1424-8220/17/9/1982},
-	doi = {10.3390/s17091982},
-	pages = {1982},
-	number = {9},
-	journaltitle = {Sensors},
-	author = {Wang, Cong and Li, Jing and Liu, Qinhuo and Zhong, Bo and Wu, Shanlong and Xia, Chuanfu},
-	urldate = {2017-12-07},
-	date = {2017-08-30},
-	langid = {english},
-	file = {Wang et al. - 2017 - Analysis of Differences in Phenology Extracted fro.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\6QVN5DJJ\\Wang et al. - 2017 - Analysis of Differences in Phenology Extracted fro.pdf:application/pdf}
-}
-
-@article{filippini_alba_geotechnologies_2017,
-	title = {Geotechnologies and Soil Mapping for Delimitation of Management Zones as an Approach to Precision Viticulture},
-	volume = {2017},
-	issn = {1687-7667, 1687-7675},
-	url = {https://www.hindawi.com/journals/aess/2017/4180965/},
-	doi = {10.1155/2017/4180965},
-	pages = {1--10},
-	journaltitle = {Applied and Environmental Soil Science},
-	author = {Filippini Alba, José Maria and Flores, Carlos Alberto and Miele, Alberto},
-	urldate = {2017-12-07},
-	date = {2017},
-	langid = {english},
-	file = {Filippini Alba et al. - 2017 - Geotechnologies and Soil Mapping for Delimitation .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\C7AA8MZH\\Filippini Alba et al. - 2017 - Geotechnologies and Soil Mapping for Delimitation .pdf:application/pdf}
-}
-
-@article{puletti_unsupervised_2014,
-	title = {Unsupervised classification of very high remotely sensed images for grapevine rows detection},
-	volume = {47},
-	issn = {2279-7254},
-	url = {https://www.tandfonline.com/doi/full/10.5721/EuJRS20144704},
-	doi = {10.5721/EuJRS20144704},
-	pages = {45--54},
-	number = {1},
-	journaltitle = {European Journal of Remote Sensing},
-	author = {Puletti, Nicola and Perria, Rita and Storchi, Paolo},
-	urldate = {2017-12-07},
-	date = {2014-01},
-	langid = {english},
-	file = {Puletti et al. - 2014 - Unsupervised classification of very high remotely .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\8NI2EUMR\\Puletti et al. - 2014 - Unsupervised classification of very high remotely .pdf:application/pdf}
-}
-
-@book{harris_s.a._glossary_1988,
-	location = {Ottawa,Ontario,Canada},
-	title = {Glossary of permafrost and related ground-ice terms},
-	isbn = {978-0-660-12540-4},
-	series = {Technical Memorandum / National Research Council, Canada},
-	pagetotal = {156},
-	number = {142},
-	author = {{Harris S.A.} and {French H.M.} and {Heginbottom J.A.}},
-	date = {1988},
-	note = {{OCLC}: 20504505},
-	file = {Harris S.A. et al. - 1988 - Glossary of permafrost and related ground-ice term.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4GF3MEPG\\Harris S.A. et al. - 1988 - Glossary of permafrost and related ground-ice term.pdf:application/pdf}
-}
-
-@article{poblete-echeverria_detection_2017,
-	title = {Detection and Segmentation of Vine Canopy in Ultra-High Spatial Resolution {RGB} Imagery Obtained from Unmanned Aerial Vehicle ({UAV}): A Case Study in a Commercial Vineyard},
-	volume = {9},
-	issn = {20724292},
-	url = {https://proxy.library.brocku.ca/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=a9h&AN=122027077&site=eds-live&scope=site},
-	doi = {10.3390/rs9030268},
-	shorttitle = {Detection and Segmentation of Vine Canopy in Ultra-High Spatial Resolution {RGB} Imagery Obtained from Unmanned Aerial Vehicle ({UAV})},
-	abstract = {The use of Unmanned Aerial Vehicles ({UAVs}) in viticulture permits the capture of aerial Red-Green-Blue ({RGB}) images with an ultra-high spatial resolution. Recent studies have demonstrated that {RGB} images can be used to monitor spatial variability of vine biophysical parameters. However, for estimating these parameters, accurate and automated segmentation methods are required to extract relevant information from {RGB} images. Manual segmentation of aerial images is a laborious and time-consuming process. Traditional classification methods have shown satisfactory results in the segmentation of {RGB} images for diverse applications and surfaces, however, in the case of commercial vineyards, it is necessary to consider some particularities inherent to canopy size in the vertical trellis systems ({VSP}) such as shadow effect and different soil conditions in inter-rows (mixed information of soil and weeds). Therefore, the objective of this study was to compare the performance of four classification methods (K-means, Artificial Neural Networks ({ANN}), Random Forest ({RForest}) and Spectral Indices ({SI})) to detect canopy in a vineyard trained on {VSP}. Six flights were carried out from post-flowering to harvest in a commercial vineyard cv. Carménère using a low-cost {UAV} equipped with a conventional {RGB} camera. The results show that the {ANN} and the simple {SI} method complemented with the Otsu method for thresholding presented the best performance for the detection of the vine canopy with high overall accuracy values for all study days. Spectral indices presented the best performance in the detection of Plant class (Vine canopy) with an overall accuracy of around 0.99. However, considering the performance pixel by pixel, the Spectral indices are not able to discriminate between Soil and Shadow class. The best performance in the classification of three classes (Plant, Soil, and Shadow) of vineyard {RGB} images, was obtained when the {SI} values were used as input data in trained methods ({ANN} and {RForest}), reaching overall accuracy values around 0.98 with high sensitivity values for the three classes.},
-	pages = {1--14},
-	number = {3},
-	journaltitle = {Remote Sensing},
-	shortjournal = {Remote Sensing},
-	author = {Poblete-Echeverría, Carlos and Federico Olmedo, Guillermo and Ingram, Ben and Bardeen, Matthew},
-	date = {2017-03},
-	keywords = {remote sensing, {DRONE} aircraft, image analysis, {PARAMETER} estimation, {PLANT} canopies, precision viticulture, random forest, {SEGMENTATION} (Image processing), spatial variability, {VINEYARDS}},
-	file = {EBSCO Full Text:C\:\\Users\\Brent Thorne\\Zotero\\storage\\AQ3Q7WQ5\\Poblete-Echeverría et al. - 2017 - Detection and Segmentation of Vine Canopy in Ultra.pdf:application/pdf}
-}
-
-@article{sladojevic_deep_2016,
-	title = {Deep Neural Networks Based Recognition of Plant Diseases by Leaf Image Classification},
-	volume = {2016},
-	issn = {1687-5265},
-	url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4934169/},
-	doi = {10.1155/2016/3289801},
-	abstract = {The latest generation of convolutional neural networks ({CNNs}) has achieved impressive results in the field of image classification. This paper is concerned with a new approach to the development of plant disease recognition model, based on leaf image classification, by the use of deep convolutional networks. Novel way of training and the methodology used facilitate a quick and easy system implementation in practice. The developed model is able to recognize 13 different types of plant diseases out of healthy leaves, with the ability to distinguish plant leaves from their surroundings. According to our knowledge, this method for plant disease recognition has been proposed for the first time. All essential steps required for implementing this disease recognition model are fully described throughout the paper, starting from gathering images in order to create a database, assessed by agricultural experts. Caffe, a deep learning framework developed by Berkley Vision and Learning Centre, was used to perform the deep {CNN} training. The experimental results on the developed model achieved precision between 91\% and 98\%, for separate class tests, on average 96.3\%.},
-	journaltitle = {Computational Intelligence and Neuroscience},
-	shortjournal = {Comput Intell Neurosci},
-	author = {Sladojevic, Srdjan and Arsenovic, Marko and Anderla, Andras and Culibrk, Dubravko and Stefanovic, Darko},
-	date = {2016},
-	pmid = {27418923},
-	pmcid = {PMC4934169},
-	file = {Sladojevic et al. - 2016 - Deep Neural Networks Based Recognition of Plant Di.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZWU7NT3Z\\Sladojevic et al. - 2016 - Deep Neural Networks Based Recognition of Plant Di.pdf:application/pdf}
-}
-
-@article{terron_evaluation_2015,
-	title = {Evaluation of vineyard growth under four irrigation regimes using vegetation and soil on-the-go sensors},
-	volume = {1},
-	issn = {2199-398X},
-	url = {http://www.soil-journal.net/1/459/2015/},
-	doi = {10.5194/soil-1-459-2015},
-	pages = {459--473},
-	number = {1},
-	journaltitle = {{SOIL}},
-	author = {Terrón, J. M. and Blanco, J. and Moral, F. J. and Mancha, L. A. and Uriarte, D. and Marques da Silva, J. R.},
-	urldate = {2017-11-28},
-	date = {2015-06-17},
-	langid = {english},
-	file = {Terrón et al. - 2015 - Evaluation of vineyard growth under four irrigatio.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\AIKE8PI9\\Terrón et al. - 2015 - Evaluation of vineyard growth under four irrigatio.pdf:application/pdf}
-}
-
-@collection{dion_microbiology_2008,
-	location = {Berlin},
-	title = {Microbiology of extreme soils},
-	isbn = {978-3-540-74230-2},
-	series = {Soil biology},
-	pagetotal = {369},
-	number = {v. 13},
-	publisher = {Springer},
-	editor = {Dion, Patrice and Nautiyal, Chandra Shekhar},
-	date = {2008},
-	note = {{OCLC}: ocn181328027},
-	keywords = {Effect of human beings on, Microbiology, Research, Soil microbiology, Soils},
-	file = {Dion and Nautiyal - 2008 - Microbiology of extreme soils.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\P42SF3BP\\Dion and Nautiyal - 2008 - Microbiology of extreme soils.pdf:application/pdf}
-}
-
-@article{lamoureux_more_2017,
-	title = {More than just snowmelt: integrated watershed science for changing climate and permafrost at the Cape Bounty Arctic Watershed Observatory: Integrated watershed science for changing climate and permafrost at {CBAWO}},
-	issn = {20491948},
-	url = {http://doi.wiley.com/10.1002/wat2.1255},
-	doi = {10.1002/wat2.1255},
-	shorttitle = {More than just snowmelt},
-	pages = {e1255},
-	journaltitle = {Wiley Interdisciplinary Reviews: Water},
-	author = {Lamoureux, Scott F. and Lafrenière, Melissa J.},
-	urldate = {2017-11-01},
-	date = {2017-10-24},
-	langid = {english},
-	file = {Lamoureux_et_al-2017-Wiley_Interdisciplinary_Reviews-_Water.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\H2489T2P\\Lamoureux_et_al-2017-Wiley_Interdisciplinary_Reviews-_Water.pdf:application/pdf}
-}
-
-@thesis{macdougall_evaluating_2017,
-	title = {Evaluating the affect of seasonal soil moisture and vegetation change on C-Band {SAR} backscatter over corn fields in {SW} Ontario},
-	type = {phdthesis},
-	author = {{MacDougall}, Joshua},
-	date = {2017},
-	file = {MacDougall - 2017 - Evaluating the affect of seasonal soil moisture an.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\QWSBV5I8\\MacDougall - 2017 - Evaluating the affect of seasonal soil moisture an.pdf:application/pdf}
-}
-
-@article{ouellette_time-series_2017,
-	title = {A Time-Series Approach to Estimating Soil Moisture From Vegetated Surfaces Using L-Band Radar Backscatter},
-	volume = {55},
-	issn = {0196-2892, 1558-0644},
-	url = {http://ieeexplore.ieee.org/document/7864350/},
-	doi = {10.1109/TGRS.2017.2663768},
-	pages = {3186--3193},
-	number = {6},
-	journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing},
-	author = {Ouellette, Jeffrey D. and Johnson, Joel T. and Balenzano, Anna and Mattia, Francesco and Satalino, Giuseppe and Kim, Seung-Bum and Dunbar, R. Scott and Colliander, Andreas and Cosh, Michael H. and Caldwell, Todd G. and Walker, Jeffrey P. and Berg, Aaron A.},
-	urldate = {2017-10-20},
-	date = {2017-06},
-	file = {Ouellette et al. - 2017 - A Time-Series Approach to Estimating Soil Moisture.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\CRSW45MW\\Ouellette et al. - 2017 - A Time-Series Approach to Estimating Soil Moisture.pdf:application/pdf}
-}
-
-@article{hosseini_using_2017,
-	title = {Using multi-polarization C- and L-band synthetic aperture radar to estimate biomass and soil moisture of wheat fields},
-	volume = {58},
-	issn = {03032434},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0303243417300065},
-	doi = {10.1016/j.jag.2017.01.006},
-	pages = {50--64},
-	journaltitle = {International Journal of Applied Earth Observation and Geoinformation},
-	author = {Hosseini, Mehdi and {McNairn}, Heather},
-	urldate = {2017-10-20},
-	date = {2017-06},
-	langid = {english},
-	file = {Hosseini and McNairn - 2017 - Using multi-polarization C- and L-band synthetic a.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\XMSAT6Q4\\Hosseini and McNairn - 2017 - Using multi-polarization C- and L-band synthetic a.pdf:application/pdf}
-}
-
-@article{ackerman_arctic_2017,
-	title = {Arctic shrub growth trajectories differ across soil moisture levels},
-	volume = {23},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/gcb.13677},
-	doi = {10.1111/gcb.13677},
-	pages = {4294--4302},
-	number = {10},
-	journaltitle = {Global Change Biology},
-	author = {Ackerman, Daniel and Griffin, Daniel and Hobbie, Sarah E. and Finlay, Jacques C.},
-	urldate = {2017-09-14},
-	date = {2017-10},
-	langid = {english},
-	file = {Ackerman et al. - 2017 - Arctic shrub growth trajectories differ across soi.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\7ZRCVS73\\Ackerman et al. - 2017 - Arctic shrub growth trajectories differ across soi.pdf:application/pdf}
-}
-
-@thesis{turner_investigating_2014,
-	location = {Waterloo, Ontario},
-	title = {Investigating the Hydrology of a Thermokarst Landscape (Old Crow Flats, Yukon, Canada) Using Water Isotope Tracers.},
-	rights = {Kevin W. Turner},
-	pagetotal = {219},
-	institution = {Wilfrid Laurier University},
-	type = {phdthesis},
-	author = {Turner, Kevin William},
-	date = {2014},
-	note = {{OCLC}: 921571251},
-	file = {Turner - 2014 - Investigating the Hydrology of a Thermokarst Lands.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\DNST7PF3\\Turner - 2014 - Investigating the Hydrology of a Thermokarst Lands.pdf:application/pdf}
-}
-
-@article{vincent_arctic_2017,
-	title = {Arctic permafrost landscapes in transition: towards an integrated Earth system approach},
-	volume = {3},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2016-0027},
-	doi = {10.1139/as-2016-0027},
-	shorttitle = {Arctic permafrost landscapes in transition},
-	pages = {39--64},
-	number = {2},
-	journaltitle = {Arctic Science},
-	author = {Vincent, Warwick F. and Lemay, Mickaël and Allard, Michel},
-	urldate = {2017-08-30},
-	date = {2017-06},
-	langid = {english},
-	file = {Vincent et al. - 2017 - Arctic permafrost landscapes in transition toward.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\UXR8GEI2\\Vincent et al. - 2017 - Arctic permafrost landscapes in transition toward.pdf:application/pdf}
-}
-
-@article{schadel_circumpolar_2014,
-	title = {Circumpolar assessment of permafrost C quality and its vulnerability over time using long-term incubation data},
-	volume = {20},
-	issn = {1365-2486},
-	url = {http://onlinelibrary.wiley.com.proxy.library.brocku.ca/doi/10.1111/gcb.12417/abstract},
-	doi = {10.1111/gcb.12417},
-	abstract = {High-latitude ecosystems store approximately 1700 Pg of soil carbon (C), which is twice as much C as is currently contained in the atmosphere. Permafrost thaw and subsequent microbial decomposition of permafrost organic matter could add large amounts of C to the atmosphere, thereby influencing the global C cycle. The rates at which C is being released from the permafrost zone at different soil depths and across different physiographic regions are poorly understood but crucial in understanding future changes in permafrost C storage with climate change. We assessed the inherent decomposability of C from the permafrost zone by assembling a database of long-term ({\textgreater}1 year) aerobic soil incubations from 121 individual samples from 23 high-latitude ecosystems located across the northern circumpolar permafrost zone. Using a three-pool (i.e., fast, slow and passive) decomposition model, we estimated pool sizes for C fractions with different turnover times and their inherent decomposition rates using a reference temperature of 5 °C. Fast cycling C accounted for less than 5\% of all C in both organic and mineral soils whereas the pool size of slow cycling C increased with C : N. Turnover time at 5 °C of fast cycling C typically was below 1 year, between 5 and 15 years for slow turning over C, and more than 500 years for passive C. We project that between 20 and 90\% of the organic C could potentially be mineralized to {CO}2 within 50 incubation years at a constant temperature of 5 °C, with vulnerability to loss increasing in soils with higher C : N. These results demonstrate the variation in the vulnerability of C stored in permafrost soils based on inherent differences in organic matter decomposability, and point toward C : N as an index of decomposability that has the potential to be used to scale permafrost C loss across landscapes.},
-	pages = {641--652},
-	number = {2},
-	journaltitle = {Global Change Biology},
-	shortjournal = {Glob Change Biol},
-	author = {Schädel, Christina and Schuur, Edward A. G. and Bracho, Rosvel and Elberling, Bo and Knoblauch, Christian and Lee, Hanna and Luo, Yiqi and Shaver, Gaius R. and Turetsky, Merritt R.},
-	date = {2014-02-01},
-	langid = {english},
-	keywords = {Alaska, tundra, boreal forest, C decomposition, climate change, Siberia, soil organic carbon},
-	file = {Schädel et al. - 2014 - Circumpolar assessment of permafrost C quality and.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\N6A9G9M5\\Schädel et al. - 2014 - Circumpolar assessment of permafrost C quality and.pdf:application/pdf;Snapshot:C\:\\Users\\Brent Thorne\\Zotero\\storage\\8RCSUATK\\abstract.html:text/html}
-}
-
-@article{smith_thermal_2010,
-	title = {Thermal state of permafrost in North America: a contribution to the international polar year},
-	volume = {21},
-	url = {http://onlinelibrary.wiley.com/doi/10.1002/ppp.690/full},
-	shorttitle = {Thermal state of permafrost in North America},
-	pages = {117--135},
-	number = {2},
-	journaltitle = {Permafrost and Periglacial Processes},
-	author = {Smith, S. L. and Romanovsky, V. E. and Lewkowicz, A. G. and Burn, C. R. and Allard, M. and Clow, G. D. and Yoshikawa, K. and Throop, J.},
-	urldate = {2017-08-30},
-	date = {2010},
-	file = {Smith et al. - 2010 - Thermal state of permafrost in North America a co.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\B2EASXDZ\\Smith et al. - 2010 - Thermal state of permafrost in North America a co.pdf:application/pdf}
-}
-
-@article{park_widespread_2016,
-	title = {Widespread permafrost vulnerability and soil active layer increases over the high northern latitudes inferred from satellite remote sensing and process model assessments},
-	volume = {175},
-	issn = {00344257},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0034425715302686},
-	doi = {10.1016/j.rse.2015.12.046},
-	pages = {349--358},
-	journaltitle = {Remote Sensing of Environment},
-	author = {Park, Hotaek and Kim, Youngwook and Kimball, John S.},
-	urldate = {2017-08-30},
-	date = {2016-03},
-	langid = {english},
-	file = {Park et al. - 2016 - Widespread permafrost vulnerability and soil activ.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\XUCW9HPK\\Park et al. - 2016 - Widespread permafrost vulnerability and soil activ.pdf:application/pdf}
-}
-
-@article{newman_microtopographic_2015,
-	title = {Microtopographic and depth controls on active layer chemistry in Arctic polygonal ground: Polygonal Ground Chemistry},
-	volume = {42},
-	issn = {00948276},
-	url = {http://doi.wiley.com/10.1002/2014GL062804},
-	doi = {10.1002/2014GL062804},
-	shorttitle = {Microtopographic and depth controls on active layer chemistry in Arctic polygonal ground},
-	pages = {1808--1817},
-	number = {6},
-	journaltitle = {Geophysical Research Letters},
-	author = {Newman, B. D. and Throckmorton, H. M. and Graham, D. E. and Gu, B. and Hubbard, S. S. and Liang, L. and Wu, Y. and Heikoop, J. M. and Herndon, E. M. and Phelps, T. J. and Wilson, C. J. and Wullschleger, S. D.},
-	urldate = {2017-08-30},
-	date = {2015-03-28},
-	langid = {english},
-	file = {Newman et al. - 2015 - Microtopographic and depth controls on active laye.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\R6KTPTXE\\Newman et al. - 2015 - Microtopographic and depth controls on active laye.pdf:application/pdf}
-}
-
-@article{muskett_active-layer_2015,
-	title = {Active-Layer Soil Moisture Content Regional Variations in Alaska and Russia by Ground-Based and Satellite-Based Methods, 2002 through 2014},
-	volume = {06},
-	issn = {2156-8359, 2156-8367},
-	url = {http://www.scirp.org/journal/doi.aspx?DOI=10.4236/ijg.2015.61002},
-	doi = {10.4236/ijg.2015.61002},
-	pages = {12--41},
-	number = {1},
-	journaltitle = {International Journal of Geosciences},
-	author = {Muskett, Reginald R. and Romanovsky, Vladimir E. and Cable, William L. and Kholodov, Alexander L.},
-	urldate = {2017-08-30},
-	date = {2015},
-	file = {Muskett et al. - 2015 - Active-Layer Soil Moisture Content Regional Variat.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\IAIE7EPM\\Muskett et al. - 2015 - Active-Layer Soil Moisture Content Regional Variat.pdf:application/pdf}
-}
-
-@article{gusmeroli_active_2015,
-	title = {Active Layer Stratigraphy and Organic Layer Thickness at a Thermokarst Site in Arctic Alaska Identified Using Ground Penetrating Radar},
-	volume = {47},
-	issn = {1523-0430, 1938-4246},
-	url = {http://www.bioone.org/doi/10.1657/AAAR00C-13-301},
-	doi = {10.1657/AAAR00C-13-301},
-	pages = {195--202},
-	number = {2},
-	journaltitle = {Arctic, Antarctic, and Alpine Research},
-	author = {Gusmeroli, Alessio and Liu, Lin and Schaefer, Kevin and Zhang, Tingjun and Schaefer, Timothy and Grosse, Guido},
-	urldate = {2017-08-30},
-	date = {2015-05},
-	langid = {english},
-	file = {Gusmeroli et al. - 2015 - Active Layer Stratigraphy and Organic Layer Thickn.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\BXQWQX86\\Gusmeroli et al. - 2015 - Active Layer Stratigraphy and Organic Layer Thickn.pdf:application/pdf}
-}
-
-@article{brown_circumpolar_2000,
-	title = {The circumpolar active layer monitoring (calm) program: Research designs and initial results $^{\textrm{1}}$},
-	volume = {24},
-	issn = {1088-937X, 1939-0513},
-	url = {http://www.tandfonline.com/doi/abs/10.1080/10889370009377698},
-	doi = {10.1080/10889370009377698},
-	shorttitle = {The circumpolar active layer monitoring (calm) program},
-	pages = {166--258},
-	number = {3},
-	journaltitle = {Polar Geography},
-	author = {Brown, J. and Hinkel, K. M. and Nelson, F. E.},
-	urldate = {2017-08-30},
-	date = {2000-07},
-	langid = {english},
-	file = {Brown et al. - 2000 - The circumpolar active layer monitoring (calm) pro.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NRFEFXQE\\Brown et al. - 2000 - The circumpolar active layer monitoring (calm) pro.pdf:application/pdf}
-}
-
-@article{gangodagamage_extrapolating_2014,
-	title = {Extrapolating active layer thickness measurements across Arctic polygonal terrain using {LiDAR} and {NDVI} data sets},
-	volume = {50},
-	issn = {1944-7973},
-	url = {http://onlinelibrary.wiley.com/doi/10.1002/2013WR014283/abstract},
-	doi = {10.1002/2013WR014283},
-	abstract = {Landscape attributes that vary with microtopography, such as active layer thickness ({ALT}), are labor intensive and difficult to document effectively through in situ methods at kilometer spatial extents, thus rendering remotely sensed methods desirable. Spatially explicit estimates of {ALT} can provide critically needed data for parameterization, initialization, and evaluation of Arctic terrestrial models. In this work, we demonstrate a new approach using high-resolution remotely sensed data for estimating centimeter-scale {ALT} in a 5 km2 area of ice-wedge polygon terrain in Barrow, Alaska. We use a simple regression-based, machine learning data-fusion algorithm that uses topographic and spectral metrics derived from multisensor data ({LiDAR} and {WorldView}-2) to estimate {ALT} (2 m spatial resolution) across the study area. Comparison of the {ALT} estimates with ground-based measurements, indicates the accuracy (r2 = 0.76, {RMSE} ±4.4 cm) of the approach. While it is generally accepted that broad climatic variability associated with increasing air temperature will govern the regional averages of {ALT}, consistent with prior studies, our findings using high-resolution {LiDAR} and {WorldView}-2 data, show that smaller-scale variability in {ALT} is controlled by local eco-hydro-geomorphic factors. This work demonstrates a path forward for mapping {ALT} at high spatial resolution and across sufficiently large regions for improved understanding and predictions of coupled dynamics among permafrost, hydrology, and land-surface processes from readily available remote sensing data.},
-	pages = {6339--6357},
-	number = {8},
-	journaltitle = {Water Resources Research},
-	shortjournal = {Water Resour. Res.},
-	author = {Gangodagamage, Chandana and Rowland, Joel C. and Hubbard, Susan S. and Brumby, Steven P. and Liljedahl, Anna K. and Wainwright, Haruko and Wilson, Cathy J. and Altmann, Garrett L. and Dafflon, Baptiste and Peterson, John and Ulrich, Craig and Tweedie, Craig E. and Wullschleger, Stan D.},
-	date = {2014-08-01},
-	langid = {english},
-	keywords = {Alaska, 0704 Seasonally frozen ground, 0706 Active layer, 0748 Ponds, 1823 Frozen ground, active layer thickness, barrow, eco-hydro-geo-thermal regimes, frozen ground, ice wedge polygons, thaw depth},
-	file = {Gangodagamage et al. - 2014 - Extrapolating active layer thickness measurements .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\AKTMBIC6\\Gangodagamage et al. - 2014 - Extrapolating active layer thickness measurements .pdf:application/pdf;Snapshot:C\:\\Users\\Brent Thorne\\Zotero\\storage\\J4BANJIG\\abstract.html:text/html}
-}
-
-@article{kokelj_impacts_2009,
-	title = {The impacts of thawing permafrost on the chemistry of lakes across the subarctic boreal-tundra transition, Mackenzie Delta region, Canada},
-	volume = {20},
-	issn = {10456740, 10991530},
-	url = {http://doi.wiley.com/10.1002/ppp.641},
-	doi = {10.1002/ppp.641},
-	pages = {185--199},
-	number = {2},
-	journaltitle = {Permafrost and Periglacial Processes},
-	author = {Kokelj, S. V. and Zajdlik, B. and Thompson, M. S.},
-	urldate = {2017-08-28},
-	date = {2009-04},
-	langid = {english},
-	file = {Kokelj et al. - 2009 - The impacts of thawing permafrost on the chemistry.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\WZ9RZ2GV\\Kokelj et al. - 2009 - The impacts of thawing permafrost on the chemistry.pdf:application/pdf}
-}
-
-@article{lapp_hydrology_2017,
-	title = {Hydrology of the North Klondike River: carbon export, water balance and inter-annual climate influences within a sub-alpine permafrost catchment},
-	volume = {53},
-	issn = {1025-6016},
-	url = {http://journals.scholarsportal.info/detailsundefined},
-	doi = {10.1080/10256016.2017.1355795},
-	shorttitle = {Hydrology of the North Klondike River},
-	abstract = {{ABSTRACT} Arctic and sub-arctic watersheds are undergoing significant changes due to recent climate warming and degrading permafrost, engendering enhanced monitoring of arctic rivers. Smaller catchments provide understanding of discharge, solute flux and groundwater recharge at the process level that contributes to an understanding of how larger arctic watersheds are responding to climate change. The North Klondike River, located in west central Yukon, is a sub-alpine permafrost catchment, which maintains an active hydrological monitoring station with a record of {\textgreater}40 years. In addition to being able to monitor intra-annual variability, this data set allows for more complex analysis of streamflow records. Streamflow data, geochemistry and stable isotope data for 2014 show a groundwater-dominated system, predominantly recharged during periods of snowmelt. Radiocarbon is shown to be a valuable tracer of soil zone recharge processes and carbon sources. Winter groundwater baseflow contributes 20 \% of total annual discharge, and accounts for up to 50 \% of total river discharge during the spring and summer months. Although total stream discharge remains unchanged, mean annual groundwater baseflow has increased over the 40-year monitoring period. Wavelet analysis reveals a catchment that responds to El Niño and longer solar cycles, as well as climatic shifts such as the Pacific Decadal Oscillation. Dedicated to Professor Peter Fritz on the occasion of his 80th birthday},
-	pages = {500--517},
-	number = {5},
-	journaltitle = {Isotopes in Environmental and Health Studies},
-	shortjournal = {Isotopes in Environmental and Health Studies},
-	author = {Lapp, Anthony and Clark, Ian and Macumber, Andrew and Patterson, Tim},
-	date = {2017},
-	keywords = {Carbon-13, carbon-14, catchment, groundwater, hydrogen-2, hydrogen-3, isotope hydrology, North Klondike River, oxygen-18, sub-alpine permafrost, water balance}
-}
-
-@article{serreze_observational_2000,
-	title = {Observational Evidence of Recent Change in the Northern High-Latitude Environment},
-	volume = {46},
-	issn = {0165-0009},
-	url = {http://journals.scholarsportal.info/detailsundefined},
-	abstract = {Studies from a variety of disciplines document recent change in the northern high-latitude environment. Prompted by predictions of an amplified response of the Arctic to enhanced greenhouse forcing, we present a synthesis of these observations. Pronounced winter and spring warming over northern continents since about 1970 is partly compensated by cooling over the northern North Atlantic. Warming is also evident over the central Arctic Ocean. There is a downward tendency in sea ice extent, attended by warming and increased areal extent of the Arctic Ocean's Atlantic layer. Negative snow cover anomalies have dominated over both continents since the late 1980s and terrestrial precipitation has increased since 1900. Small Arctic glaciers have exhibited generally negative mass balances. While permafrost has warmed in Alaska and Russia, it has cooled in eastern Canada. There is evidence of increased plant growth, attended by greater shrub abundance and northward migration of the tree line. Evidence also suggests that the tundra has changed from a net sink to a net source of atmospheric carbon dioxide. Taken together, these results paint a reasonably coherent picture of change, but their interpretation as signals of enhanced greenhouse warming is open to debate. Many of the environmental records are either short, are of uncertain quality, or provide limited spatial coverage. The recent high-latitude warming is also no larger than the interdecadal temperature range during this century. Nevertheless, the general patterns of change broadly agree with model predictions. Roughly half of the pronounced recent rise in Northern Hemisphere winter temperatures reflects shifts in atmospheric circulation. However, such changes are not inconsistent with anthropogenic forcing and include generally positive phases of the North Atlantic and Arctic Oscillations and extratropical responses to the El-Niño Southern Oscillation. An anthropogenic effect is also suggested from interpretation of the paleoclimate record, which indicates that the 20th century Arctic is the warmest of the past 400 years.},
-	pages = {159--207},
-	number = {1},
-	journaltitle = {Climatic Change},
-	shortjournal = {Climatic Change},
-	author = {Serreze, M. C. and Walsh, J. E. and Chapin {III}, F. S. and Osterkamp, T. and Dyurgerov, M. and Romanovsky, V. and Oechel, W. C. and Morison, J. and Zhang, T. and Barry, R. G.},
-	date = {2000},
-	file = {Serreze et al. - 2000 - Observational Evidence of Recent Change in the Nor.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\A8SBW8KF\\Serreze et al. - 2000 - Observational Evidence of Recent Change in the Nor.pdf:application/pdf}
-}
-
-@article{zhang_spatial_2005,
-	title = {Spatial and temporal variability in active layer thickness over the Russian Arctic drainage basin},
-	volume = {110},
-	issn = {2156-2202},
-	url = {http://onlinelibrary.wiley.com/doi/10.1029/2004JD005642/abstract},
-	doi = {10.1029/2004JD005642},
-	abstract = {Changes in active layer thickness ({ALT}) over northern high-latitude permafrost regions have important impacts on the surface energy balance, hydrologic cycle, carbon exchange between the atmosphere and the land surface, plant growth, and ecosystems as a whole. This study examines the 20th century variations of {ALT} for the Ob, Yenisey, and Lena River basins. {ALT} is estimated from historical soil temperature measurements from 17 stations (1956–1990, Lena basin only), an annual thawing index based on both surface air temperature data (1901–2002) and numerical modeling (1980–2002). The latter two provide spatial fields. Based on the thawing index, the long-term average (1961–1990) {ALT} is about 1.87 m in the Ob, 1.67 in the Yenisey, and 1.69 m in the Lena basin. Over the past several decades, {ALT} over the three basins shows positive trends, but with different magnitudes. Based on the 17 stations, {ALT} increased about 0.32 m between 1956 and 1990 in the Lena. To the extent that results based on the soil temperatures represent ground “truth,” {ALT} obtained from both the thawing index and numerical modeling is underestimated. It is widely believed that {ALT} will increase with global warming. However, this hypothesis needs further refinement since {ALT} responds primarily to summer air temperature while observed warming has occurred mainly in winter and spring. It is also shown that {ALT} exhibits complex and inconsistent responses to variations in snow cover.},
-	pages = {D16101},
-	issue = {D16},
-	journaltitle = {Journal of Geophysical Research: Atmospheres},
-	shortjournal = {J. Geophys. Res.},
-	author = {Zhang, Tingjun and Frauenfeld, Oliver W. and Serreze, Mark C. and Etringer, Andrew and Oelke, Christoph and {McCreight}, James and Barry, Roger G. and Gilichinsky, David and Yang, Daqing and Ye, Hengchun and Ling, Feng and Chudinova, Svetlana},
-	date = {2005-08-27},
-	langid = {english},
-	keywords = {permafrost, 1823 Frozen ground, 1824 Geomorphology: general, 1834 Human impacts, 1863 Snow and ice, active layer, Russian Arctic},
-	file = {Snapshot:C\:\\Users\\Brent Thorne\\Zotero\\storage\\JFQAGW5E\\abstract.html:text/html;Zhang et al. - 2005 - Spatial and temporal variability in active layer t.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\5FU38XED\\Zhang et al. - 2005 - Spatial and temporal variability in active layer t.pdf:application/pdf}
-}
-
-@article{christiansen_thermal_2010,
-	title = {The thermal state of permafrost in the nordic area during the international polar year 2007-2009: Thermal state of permafrost in the Nordic area},
-	volume = {21},
-	issn = {10456740},
-	url = {http://doi.wiley.com/10.1002/ppp.687},
-	doi = {10.1002/ppp.687},
-	shorttitle = {The thermal state of permafrost in the nordic area during the international polar year 2007-2009},
-	pages = {156--181},
-	number = {2},
-	journaltitle = {Permafrost and Periglacial Processes},
-	author = {Christiansen, H. H. and Etzelmüller, B. and Isaksen, K. and Juliussen, H. and Farbrot, H. and Humlum, O. and Johansson, M. and Ingeman-Nielsen, T. and Kristensen, L. and Hjort, J. and Holmlund, P. and Sannel, A. B. K. and Sigsgaard, C. and Åkerman, H. J. and Foged, N. and Blikra, L. H. and Pernosky, M. A. and Ødegård, R. S.},
-	urldate = {2017-08-20},
-	date = {2010-04},
-	langid = {english},
-	file = {Christiansen et al. - 2010 - The thermal state of permafrost in the nordic area.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\LVTFFSK2\\Christiansen et al. - 2010 - The thermal state of permafrost in the nordic area.pdf:application/pdf}
-}
-
-@article{schaefer_remotely_2015,
-	title = {Remotely Sensed Active Layer Thickness ({ReSALT}) at Barrow, Alaska Using Interferometric Synthetic Aperture Radar},
-	volume = {7},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/7/4/3735/},
-	doi = {10.3390/rs70403735},
-	pages = {3735--3759},
-	number = {4},
-	journaltitle = {Remote Sensing},
-	author = {Schaefer, Kevin and Liu, Lin and Parsekian, Andrew and Jafarov, Elchin and Chen, Albert and Zhang, Tingjun and Gusmeroli, Alessio and Panda, Santosh and Zebker, Howard and Schaefer, Tim},
-	urldate = {2017-08-20},
-	date = {2015-03-27},
-	langid = {english},
-	file = {Schaefer et al. - 2015 - Remotely Sensed Active Layer Thickness (ReSALT) at.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\UJDM5XAJ\\Schaefer et al. - 2015 - Remotely Sensed Active Layer Thickness (ReSALT) at.pdf:application/pdf}
-}
-
-@thesis{riglin_perpetual_1977,
-	title = {The Perpetual Landslide, Summerland, British Columbia},
-	institution = {University of British Columbia},
-	type = {Master's Thesis},
-	author = {Riglin, Linda},
-	date = {1977-04},
-	file = {Riglin - 1977 - The Perpetual Landslide, Summerland, British Colum.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\M8EGSI9A\\Riglin - 1977 - The Perpetual Landslide, Summerland, British Colum.pdf:application/pdf}
-}
-
-@article{stone_even_2014,
-	title = {Even for Slide-Prone Region, Landslide Was Off the Chart},
-	volume = {344},
-	url = {http://science.sciencemag.org/content/344/6179/16.short},
-	pages = {16--17},
-	number = {6179},
-	journaltitle = {Science},
-	author = {Stone, Richard and {others}},
-	urldate = {2017-08-09},
-	date = {2014},
-	file = {Stone and others - 2014 - Even for Slide-Prone Region, Landslide Was Off the.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\75HGFCE7\\Stone and others - 2014 - Even for Slide-Prone Region, Landslide Was Off the.pdf:application/pdf}
-}
-
-@article{murphy_use_2016,
-	title = {Use of a Small Unmanned Aerial System for the {SR}-530 Mudslide Incident near Oso, Washington: Use of Small Unmanned Aerial System for {SR}-530 Mudslide Incident near Oso, Washington},
-	volume = {33},
-	issn = {15564959},
-	url = {http://doi.wiley.com/10.1002/rob.21586},
-	doi = {10.1002/rob.21586},
-	shorttitle = {Use of a Small Unmanned Aerial System for the {SR}-530 Mudslide Incident near Oso, Washington},
-	pages = {476--488},
-	number = {4},
-	journaltitle = {Journal of Field Robotics},
-	author = {Murphy, Robin R. and Duncan, Brittany A. and Collins, Tyler and Kendrick, Justin and Lohman, Patrick and Palmer, Tamara and Sanborn, Frank},
-	urldate = {2017-08-09},
-	date = {2016-06},
-	langid = {english},
-	file = {Murphy et al. - 2016 - Use of a Small Unmanned Aerial System for the SR-5.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\U2XXHRV9\\Murphy et al. - 2016 - Use of a Small Unmanned Aerial System for the SR-5.pdf:application/pdf}
-}
-
-@misc{dragovich_geologic_2003,
-	title = {Geologic Map of the Mount Higgins 7.5-minute Quadrangle, Skagit and Snohomish Counties, Washington},
-	url = {http://file.dnr.wa.gov/publications/ger_ofr2003-12_geol_map_mounthiggins_24k.pdf},
-	publisher = {Washington Department of Natural Resources},
-	type = {Topographic},
-	editora = {Dragovich,, Joe and Stanton,, Benjamin and Lingley,, William and Griesel,, Gerry},
-	editoratype = {collaborator},
-	urldate = {2017-08-09},
-	date = {2003},
-	file = {Dragovich, et al. - 2003 - Geologic Map of the Mount Higgins 7.5-minute Quadr.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\F4FK2QTW\\Dragovich, et al. - 2003 - Geologic Map of the Mount Higgins 7.5-minute Quadr.pdf:application/pdf}
-}
-
-@report{haugerud_preliminary_2014,
-	title = {Preliminary Interpretation of Pre-2014 Landslide Deposits in the Vicinity of Oso, Washington},
-	institution = {U.S. Geological Survey},
-	type = {U.S. Geological Survey Open-File Report},
-	author = {Haugerud, Ralph A.},
-	date = {2014},
-	langid = {english},
-	file = {Haugerud - 2014 - Preliminary Interpretation of Pre-2014 Landslide D.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\3R4N67B8\\Haugerud - 2014 - Preliminary Interpretation of Pre-2014 Landslide D.pdf:application/pdf}
-}
-
-@article{wartman_22_2016,
-	title = {The 22 March 2014 Oso landslide, Washington, {USA}},
-	volume = {253},
-	issn = {0169555X},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0169555X15301860},
-	doi = {10.1016/j.geomorph.2015.10.022},
-	pages = {275--288},
-	journaltitle = {Geomorphology},
-	author = {Wartman, Joseph and Montgomery, David R. and Anderson, Scott A. and Keaton, Jeffrey R. and Benoît, Jean and dela Chapelle, John and Gilbert, Robert},
-	urldate = {2017-08-09},
-	date = {2016-01},
-	langid = {english},
-	file = {Wartman et al. - 2016 - The 22 March 2014 Oso landslide, Washington, USA.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZB3AI2DV\\Wartman et al. - 2016 - The 22 March 2014 Oso landslide, Washington, USA.pdf:application/pdf}
-}
-
-@article{goncalves_concentration_2001,
-	title = {Concentration of photosynthetic pigments and chlorophyll fluorescence of mahogany and tonka bean under two light environments},
-	volume = {13},
-	url = {http://www.scielo.br/scielo.php?pid=S0103-31312001000200004&script=sci_arttext&tlng=es},
-	pages = {149--157},
-	number = {2},
-	journaltitle = {Revista Brasileira de Fisiologia Vegetal},
-	author = {{GONÇALVES}, {JOSÉ} {FRANCISCO} {DE} {CARVALHO} and {MARENCO}, {RICARDO} {ANTONIO} and Vieira, Gil},
-	urldate = {2017-07-31},
-	date = {2001},
-	file = {GONÇALVES et al. - 2001 - Concentration of photosynthetic pigments and chlor.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\3AAZTFZP\\GONÇALVES et al. - 2001 - Concentration of photosynthetic pigments and chlor.pdf:application/pdf}
-}
-
-@article{lamhonwah_multi-year_2016,
-	title = {Multi-year impacts of permafrost disturbance and thermal perturbation on High Arctic stream chemistry},
-	volume = {3},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/full/10.1139/as-2016-0024},
-	doi = {10.1139/as-2016-0024},
-	abstract = {Permafrost disturbances (such as active layer detachment ({ALD}) slides) and thermal perturbation (deep ground thaw from high soil temperatures) alter Arctic surface water chemistry. However, the potential multi-year impacts on water chemistry and the ultimate recovery time are not well understood. This study evaluates the impacts on surface waters and recovery following disturbance of a High Arctic catchment in 2007 from {ALDs}. We measured ion concentrations and stable isotopes in surface waters collected between 2006 and 2014 from paired catchments — one disturbed and the other not. The years 2007 and 2012 were exceptionally warm and represent unusual thermal perturbation for both catchments. Results indicate that the exposure and mobilization of soluble ions in near surface soil is a key control over dissolved ion concentrations and composition following {ALDs}. Runoff in the disturbed catchment shows increased total dissolved solute ({TDS}) concentrations and seasonal {TDS} fluxes and changes to the relative c..., Les perturbations du pergélisol (telles que les glissements causés par le détachement de la couche active ({DCA})) et la perturbation thermique (le dégel du sol en profondeur causé par des températures élevées) changent l’hydrochimie des eaux de surface dans l’Arctique. Cependant, on ne comprend pas bien les impacts potentiels de plusieurs années sur l’hydrochimie ni le temps de rétablissement final. Cette étude évalue les impacts sur les eaux de surface après la perturbation d’un bassin hydrologique du Haut-Arctique en 2007 en raison d’un {DCA} ainsi que le rétablissement. Nous avons mesuré les concentrations d’ions et les isotopes stables dans les eaux de surface recueillies entre 2006 et 2014 provenant de deux bassins hydrologiques appariés — un perturbé et l’autre non. Les années 2007 et 2012 étaient exceptionnellement chaudes et représentent une perturbation thermique inhabituelle des deux bassins hydrologiques. Les résultats indiquent que l’exposition et la mobilisation d’ions solubles dans le sol près ...},
-	pages = {254--276},
-	number = {2},
-	journaltitle = {Arctic Science},
-	shortjournal = {Arctic Science},
-	author = {Lamhonwah, Daniel and Lafrenière, M. J. and Lamoureux, S. F. and Wolfe, B. B.},
-	urldate = {2017-07-20},
-	date = {2016-12-05},
-	file = {Lamhonwah et al. - 2016 - Multi-year impacts of permafrost disturbance and t.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\PTR5CW5H\\Lamhonwah et al. - 2016 - Multi-year impacts of permafrost disturbance and t.pdf:application/pdf;NRC Research Press Snapshot:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NCNBQGUJ\\Lamhonwah et al. - 2016 - Multi-year impacts of permafrost disturbance and t.html:text/html}
-}
-
-@article{lantz_vegetation_2017,
-	title = {Vegetation Succession and Environmental Conditions following Catastrophic Lake Drainage in Old Crow Flats, Yukon},
-	volume = {70},
-	issn = {1923-1245, 0004-0843},
-	url = {http://arctic.journalhosting.ucalgary.ca/arctic/index.php/arctic/article/view/4646},
-	doi = {10.14430/arctic4646},
-	pages = {177},
-	number = {2},
-	journaltitle = {{ARCTIC}},
-	author = {Lantz, Trevor C.},
-	urldate = {2017-07-17},
-	date = {2017-05-31},
-	file = {Lantz - 2017 - Vegetation Succession and Environmental Conditions.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\6HNB3ZPP\\Lantz - 2017 - Vegetation Succession and Environmental Conditions.pdf:application/pdf}
-}
-
-@article{dyke_climate_2000,
-	title = {Climate of the Mackenzie River valley},
-	volume = {547},
-	url = {https://www.researchgate.net/profile/Larry_Dyke2/publication/273380005_Climate_of_the_Mackenzie_River_valley/links/54ff4de80cf2741b69f657d0.pdf},
-	pages = {21--30},
-	journaltitle = {The Physical Environment of the Mackenzie Valley, Northwest Territories: a Baseline for the Assessment of Environmental Change. Ottawa, Ontario: Geological Survey of Canada Bulletin},
-	author = {Dyke, L. D.},
-	urldate = {2017-07-17},
-	date = {2000},
-	file = {Dyke - 2000 - Climate of the Mackenzie River valley.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\T27INN4F\\Dyke - 2000 - Climate of the Mackenzie River valley.pdf:application/pdf}
-}
-
-@misc{heginbottom_canada_1995,
-	title = {Canada Permafrost},
-	url = {http://ftp.geogratis.gc.ca/pub/nrcan_rncan/raster/atlas_5_ed/eng/environment/land/mcr4177.pdf},
-	publisher = {Natural Resources Canada},
-	editora = {Heginbottom, J.A.},
-	editoratype = {collaborator},
-	urldate = {2017-07-17},
-	date = {1995},
-	file = {Heginbottom - 1995 - Canada Permafrost.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\N83438FX\\Heginbottom - 1995 - Canada Permafrost.pdf:application/pdf}
-}
-
-@article{lantz_changes_2015,
-	title = {Changes in lake area in response to thermokarst processes and climate in Old Crow Flats, Yukon},
-	volume = {120},
-	issn = {2169-8961},
-	url = {http://onlinelibrary.wiley.com/doi/10.1002/2014JG002744/abstract},
-	doi = {10.1002/2014JG002744},
-	abstract = {Growing evidence indicates that lake-dominated ecosystems at high latitudes are undergoing significant hydrological changes. Research examining these changes is complicated because both thermokarst and climatic processes likely influence lake dynamics. To examine the relative impacts of these processes in permafrost landscapes, we investigated the dynamics of lake area and number in Old Crow Flats ({OCF}), Yukon using historical air photos and satellite imagery. Between 1951 and 2007, {OCF} experienced a decline of {\textasciitilde}6000 ha in total lake area but gained 232 lakes. Close to half (49\%) of the difference in lake area was driven by the rapid and persistent drainage of 38 large lakes. These catastrophic drainages were associated with new or enlarged outlet channels, resulted in the formation of numerous residual ponds, and were likely driven by thermokarst processes. Our analysis shows that catastrophic lake drainages have become more than 5 times more frequent in recent decades. These changes are likely related to the impacts of increased temperature and precipitation on thermokarst processes. Fifty-nine of the 170 intensively studied lakes showed either large bidirectional fluctuations or gradual cumulative declines. These changes affected a much smaller portion of {OCF} and were likely driven by interactions between increased precipitation and temperature and individual catchment characteristics. To anticipate landscape-scale changes in these systems, and assess their impact on hydrology, wildlife habitat, and carbon storage, field research is required to better characterize the mechanisms responsible for changes.},
-	pages = {2014JG002744},
-	number = {3},
-	journaltitle = {Journal of Geophysical Research: Biogeosciences},
-	shortjournal = {J. Geophys. Res. Biogeosci.},
-	author = {Lantz, T. C. and Turner, K. W.},
-	date = {2015-03-01},
-	langid = {english},
-	keywords = {permafrost, 0497 Wetlands, 0475 Permafrost, cryosphere, and high-latitude processes, 0480 Remote sensing, 1807 Climate impacts, air photos, global change, thermokarst},
-	file = {Lantz and Turner - 2015 - Changes in lake area in response to thermokarst pr.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\N8IK6QTM\\Lantz and Turner - 2015 - Changes in lake area in response to thermokarst pr.pdf:application/pdf}
-}
-
-@unpublished{bouchard_isotopic_2013,
-	location = {Ottawa, {ON}},
-	title = {Isotopic evidence for recent hydrological shifts in source waters of shallow lakes in northern freshwater landscapes.},
-	abstract = {In northern Canada, shallow-lake-rich freshwater landscapes provide key habitat for many wildlife species and play a vital role in the traditional use of the land by local indigenous communities. Changes in precipitation have the potential to substantially alter the hydrological conditions of these shallow lakes. Here we compare multiple years of measurements of lake water oxygen isotope composition (δ18Omes) with surface sediment cellulose-inferred lake water oxygen isotope composition (δ18Oinf) for {\textasciitilde}80 lakes in two of Canada’s largest lake-rich thermokarst landscapes – Old Crow Flats ({OCF}), Yukon, and western Hudson Bay Lowlands ({HBL}), Manitoba. Results reveal a strikingly coherent pattern of recent hydrological change in these two landscapes. In {OCF}, δ18Oinf values from snowmelt-dominated lakes align reasonably well with the 2007-2008 δ18Omes values from the early ice-free season, as expected. In contrast, δ18Oinf from rainfall-dominated lakes are systematically lower (i.e., more 18O-depleted) relative to δ18Omes. Climate data indicate that the winter of 2007-08 had markedly lower snowfall compared to the long-term mean, whereas winters immediately prior to our water sample collections were characterized by snowfall equal to or greater than the long-term mean. Thus, we speculate that the isotopic offset between δ18Oinf and δ18Omes for some of the lakes is due to a shift to more rainfall-dominated precipitation. Similar results have been obtained from lakes in {HBL}. Here too, about 40\% of the sampled lakes contain δ18Oinf values that are lower than δ18Omes values from 2010-2012, which may also reflect a recent shift to more rainfall-dominated precipitation. These findings suggest that some lakes in our study areas received less snowmelt during the water sampling years in comparison to the time interval captured in the surface-sediments. Notably, a few lakes in {HBL} lost all of their water to evaporation during mid-summer 2010, fuelling concerns that reduction in snowmelt and an increase in the length of the ice-free season in these landscapes may lead to an increase in the occurrence of lake desiccation.},
-	type = {Conference},
-	howpublished = {Conference},
-	note = {{PALS} 2013},
-	author = {Bouchard, Frederic},
-	editora = {Deakin, C. and Turner, Kevin W. and White, H.E. and Macdonald, Lauren and Medeiros, Andrew and Wolfe, Brent B. and Hall, Roland I. and Pienitz, Reinhard},
-	editoratype = {collaborator},
-	date = {2013},
-	file = {Bouchard - 2013 - Isotopic evidence for recent hydrological shifts i.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ISPJ397I\\Bouchard - 2013 - Isotopic evidence for recent hydrological shifts i.pdf:application/pdf}
-}
-
-@book{reeuwijk_procedures_2002,
-	location = {Wageningen},
-	edition = {6. ed},
-	title = {Procedures for soil analysis},
-	isbn = {978-90-6672-044-2},
-	series = {Technical paper / International Soil Reference an Information Centre},
-	number = {9},
-	publisher = {International Soil Reference and Information Centre},
-	author = {Reeuwijk, L. P. van},
-	date = {2002},
-	note = {{OCLC}: 248862095},
-	file = {Reeuwijk - 2002 - Procedures for soil analysis.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\TRHHI2KR\\Reeuwijk - 2002 - Procedures for soil analysis.pdf:application/pdf}
-}
-
-@article{consortium_global_2017,
-	title = {A global multiproxy database for temperature reconstructions of the Common Era},
-	volume = {4},
-	rights = {2017 Nature Publishing Group},
-	issn = {2052-4463},
-	url = {https://www.nature.com/articles/sdata201788},
-	doi = {10.1038/sdata.2017.88},
-	abstract = {Data Descriptor},
-	pages = {sdata201788},
-	journaltitle = {Scientific Data},
-	author = {Consortium, {PAGES}2k and Emile-Geay, Julien and {McKay}, Nicholas P. and Kaufman, Darrell S. and Gunten, Lucien von and Wang, Jianghao and Anchukaitis, Kevin J. and Abram, Nerilie J. and Addison, Jason A. and Curran, Mark A. J. and Evans, Michael N. and Henley, Benjamin J. and Hao, Zhixin and Martrat, Belen and {McGregor}, Helen V. and Neukom, Raphael and Pederson, Gregory T. and Stenni, Barbara and Thirumalai, Kaustubh and Werner, Johannes P. and Xu, Chenxi and Divine, Dmitry V. and Dixon, Bronwyn C. and Gergis, Joelle and Mundo, Ignacio A. and Nakatsuka, Takeshi and Phipps, Steven J. and Routson, Cody C. and Steig, Eric J. and Tierney, Jessica E. and Tyler, Jonathan J. and Allen, Kathryn J. and Bertler, Nancy A. N. and Björklund, Jesper and Chase, Brian M. and Chen, Min-Te and Cook, Ed and Jong, Rixt de and {DeLong}, Kristine L. and Dixon, Daniel A. and Ekaykin, Alexey A. and Ersek, Vasile and Filipsson, Helena L. and Francus, Pierre and Freund, Mandy B. and Frezzotti, Massimo and Gaire, Narayan P. and Gajewski, Konrad and Ge, Quansheng and Goosse, Hugues and Gornostaeva, Anastasia and Grosjean, Martin and Horiuchi, Kazuho and Hormes, Anne and Husum, Katrine and Isaksson, Elisabeth and Kandasamy, Selvaraj and Kawamura, Kenji and Kilbourne, K. Halimeda and Koç, Nalan and Leduc, Guillaume and Linderholm, Hans W. and Lorrey, Andrew M. and Mikhalenko, Vladimir and Mortyn, P. Graham and Motoyama, Hideaki and Moy, Andrew D. and Mulvaney, Robert and Munz, Philipp M. and Nash, David J. and Oerter, Hans and Opel, Thomas and Orsi, Anais J. and Ovchinnikov, Dmitriy V. and Porter, Trevor J. and Roop, Heidi A. and Saenger, Casey and Sano, Masaki and Sauchyn, David and Saunders, Krystyna M. and Seidenkrantz, Marit-Solveig and Severi, Mirko and Shao, Xuemei and Sicre, Marie-Alexandrine and Sigl, Michael and Sinclair, Kate and George, Scott St and Jacques, Jeannine-Marie St and Thamban, Meloth and Thapa, Udya Kuwar and Thomas, Elizabeth R. and Turney, Chris and Uemura, Ryu and Viau, Andre E. and Vladimirova, Diana O. and Wahl, Eugene R. and White, James W. C. and Yu, Zicheng and Zinke, Jens},
-	urldate = {2017-07-12},
-	date = {2017-07-11},
-	langid = {english},
-	file = {Consortium et al. - 2017 - A global multiproxy database for temperature recon.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\V9X5BRUF\\Consortium et al. - 2017 - A global multiproxy database for temperature recon.pdf:application/pdf;Snapshot:C\:\\Users\\Brent Thorne\\Zotero\\storage\\GCREN8I7\\Consortium et al. - 2017 - A global multiproxy database for temperature recon.html:text/html}
-}
-
-@article{walvoord_increased_2007,
-	title = {Increased groundwater to stream discharge from permafrost thawing in the Yukon River basin: Potential impacts on lateral export of carbon and nitrogen},
-	volume = {34},
-	issn = {0094-8276},
-	url = {http://doi.wiley.com/10.1029/2007GL030216},
-	doi = {10.1029/2007GL030216},
-	shorttitle = {Increased groundwater to stream discharge from permafrost thawing in the Yukon River basin},
-	number = {12},
-	journaltitle = {Geophysical Research Letters},
-	author = {Walvoord, Michelle A. and Striegl, Robert G.},
-	urldate = {2017-07-12},
-	date = {2007-06-28},
-	langid = {english},
-	file = {Walvoord and Striegl - 2007 - Increased groundwater to stream discharge from per.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\K9HFZCT5\\Walvoord and Striegl - 2007 - Increased groundwater to stream discharge from per.pdf:application/pdf}
-}
-
-@article{tunaley_scaling_2017,
-	title = {Scaling effects of riparian peatlands on stable isotopes in runoff and {DOC} mobilisation},
-	volume = {549},
-	issn = {00221694},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0022169417301956},
-	doi = {10.1016/j.jhydrol.2017.03.056},
-	pages = {220--235},
-	journaltitle = {Journal of Hydrology},
-	author = {Tunaley, C. and Tetzlaff, D. and Soulsby, C.},
-	urldate = {2017-07-12},
-	date = {2017-06},
-	langid = {english},
-	file = {Tunaley et al. - 2017 - Scaling effects of riparian peatlands on stable is.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\473I62RG\\Tunaley et al. - 2017 - Scaling effects of riparian peatlands on stable is.pdf:application/pdf}
-}
-
-@article{wissel_new_2008,
-	title = {A new approach for the isolation of cellulose from aquatic plant tissue and freshwater sediments for stable isotope analysis},
-	volume = {39},
-	issn = {01466380},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0146638008002398},
-	doi = {10.1016/j.orggeochem.2008.07.014},
-	pages = {1545--1561},
-	number = {11},
-	journaltitle = {Organic Geochemistry},
-	author = {Wissel, Holger and Mayr, Christoph and Lücke, Andreas},
-	urldate = {2017-07-12},
-	date = {2008-11},
-	langid = {english},
-	file = {Wissel et al. - 2008 - A new approach for the isolation of cellulose from.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\C88UXPZF\\Wissel et al. - 2008 - A new approach for the isolation of cellulose from.pdf:application/pdf}
-}
-
-@book{speer_fundamentals_2010,
-	location = {Tucson},
-	title = {Fundamentals of tree-ring research},
-	isbn = {978-0-8165-2684-0},
-	pagetotal = {333},
-	publisher = {University of Arizona Press},
-	author = {Speer, James H.},
-	date = {2010},
-	note = {{OCLC}: ocn460061751},
-	keywords = {Dendrochronology, Growth, Tree-rings, Trees, Wood},
-	file = {Speer - 2010 - Fundamentals of tree-ring research.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZUQ5JRRD\\Speer - 2010 - Fundamentals of tree-ring research.pdf:application/pdf}
-}
-
-@article{arnon_copper_1949,
-	title = {Copper enzymes in isolated chloroplasts. Polyphenoloxidase in Beta vulgaris},
-	volume = {24},
-	url = {https://www.ncbi.nlm.nih.gov/pmc/articles/pmc437905/},
-	pages = {1},
-	number = {1},
-	journaltitle = {Plant physiology},
-	author = {Arnon, Daniel I.},
-	urldate = {2017-07-12},
-	date = {1949},
-	file = {Plant Physiology (Arnon, 1948).pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\B28EETIK\\Plant Physiology (Arnon, 1948).pdf:application/pdf}
-}
-
-@inproceedings{shibghatallah_measuring_2013,
-	title = {Measuring leaf chlorophyll concentration from its color: A way in monitoring environment change to plantations},
-	volume = {1554},
-	url = {http://aip.scitation.org/doi/abs/10.1063/1.4820322},
-	shorttitle = {Measuring leaf chlorophyll concentration from its color},
-	pages = {210--213},
-	booktitle = {{AIP} Conference Proceedings},
-	publisher = {{AIP}},
-	author = {Shibghatallah, Muhammad Abdul Hakim and Khotimah, Siti Nurul and Suhandono, Sony and Viridi, Sparisoma and Kesuma, Teja},
-	urldate = {2017-07-12},
-	date = {2013},
-	file = {Measuring Leaf Chlorophyll Concentration from Its Color.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZV5ZSSFP\\Measuring Leaf Chlorophyll Concentration from Its Color.pdf:application/pdf}
-}
-
-@article{balasubramaniam_source_2015,
-	title = {Source water inputs and catchment characteristics regulate limnological conditions of shallow subarctic lakes (Old Crow Flats, Yukon, Canada)},
-	volume = {72},
-	issn = {0706-652X, 1205-7533},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/cjfas-2014-0340},
-	doi = {10.1139/cjfas-2014-0340},
-	pages = {1058--1072},
-	number = {7},
-	journaltitle = {Canadian Journal of Fisheries and Aquatic Sciences},
-	author = {Balasubramaniam, Ann M. and Hall, Roland I. and Wolfe, Brent B. and Sweetman, Jon N. and Wang, Xiaowa and Smith, Ralph},
-	urldate = {2017-07-11},
-	date = {2015-07},
-	langid = {english},
-	file = {Balasubramaniam et al. - 2015 - Source water inputs and catchment characteristics .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\6AHUH3SG\\Balasubramaniam et al. - 2015 - Source water inputs and catchment characteristics .pdf:application/pdf}
-}
-
-@article{ahmed_hierarchical_2017,
-	title = {Hierarchical land cover and vegetation classification using multispectral data acquired from an unmanned aerial vehicle},
-	volume = {38},
-	pages = {2037--2052},
-	number = {8},
-	journaltitle = {International Journal of Remote Sensing},
-	author = {Ahmed, Oumer S. and Shemrock, Adam and Chabot, Dominique and Dillon, Chris and Williams, Griffin and Wasson, Rachel and Franklin, Steven E.},
-	date = {2017},
-	file = {Ahmed et al. - 2017 - Hierarchical land cover and vegetation classificat.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\IVAKQGUK\\Ahmed et al. - 2017 - Hierarchical land cover and vegetation classificat.pdf:application/pdf}
-}
-
-@thesis{myers-smith_shrub_2011,
-	title = {Shrub encroachment in arctic and alpine tundra: Patterns of expansion and ecosystem impacts.},
-	url = {https://era.library.ualberta.ca/files/df65v836z},
-	shorttitle = {Shrub encroachment in arctic and alpine tundra},
-	type = {phdthesis},
-	author = {Myers-Smith, Isla H.},
-	urldate = {2017-07-11},
-	date = {2011},
-	file = {Myers-Smith - 2011 - Shrub encroachment in arctic and alpine tundra Pa.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\3T9BCR66\\Myers-Smith - 2011 - Shrub encroachment in arctic and alpine tundra Pa.pdf:application/pdf}
-}
-
-@thesis{blok_shrubs_nodate,
-	title = {Shrubs in the cold: interactions between vegetation, permafrost and climate in Siberian tundra},
-	shorttitle = {Shrubs in the cold},
-	pagetotal = {152},
-	type = {phdthesis},
-	author = {Blok, Daan},
-	note = {{OCLC}: 930839610},
-	file = {Blok - Shrubs in the cold interactions between vegetatio.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\5XSARGGZ\\Blok - Shrubs in the cold interactions between vegetatio.pdf:application/pdf}
-}
-
-@article{schwartz_dating_2005,
-	title = {Dating the Growth of Oceanic Crust at a Slow-Spreading Ridge},
-	volume = {310},
-	issn = {0036-8075, 1095-9203},
-	url = {http://www.sciencemag.org/cgi/doi/10.1126/science.1116349},
-	doi = {10.1126/science.1116349},
-	pages = {654--657},
-	number = {5748},
-	journaltitle = {Science},
-	author = {Schwartz, J. J.},
-	urldate = {2017-07-11},
-	date = {2005-10-28},
-	langid = {english},
-	file = {Schwartz - 2005 - Dating the Growth of Oceanic Crust at a Slow-Sprea.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\GUADV58E\\Schwartz - 2005 - Dating the Growth of Oceanic Crust at a Slow-Sprea.pdf:application/pdf}
-}
-
-@article{castilla_we_2016,
-	title = {We Must all Pay More Attention to Rigor in Accuracy Assessment: Additional Comment to “The Improvement of Land Cover Classification by Thermal Remote Sensing”. Remote Sens. 2015, 7, 8368–8390},
-	volume = {8},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/8/4/288},
-	doi = {10.3390/rs8040288},
-	shorttitle = {We Must all Pay More Attention to Rigor in Accuracy Assessment},
-	pages = {288},
-	number = {4},
-	journaltitle = {Remote Sensing},
-	author = {Castilla, Guillermo},
-	urldate = {2017-07-11},
-	date = {2016-03-26},
-	langid = {english},
-	file = {Castilla - 2016 - We Must all Pay More Attention to Rigor in Accurac.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\V9PG28IA\\Castilla - 2016 - We Must all Pay More Attention to Rigor in Accurac.pdf:application/pdf}
-}
-
-@article{wolfe_environmental_2011,
-	title = {Environmental change and traditional use of the Old Crow Flats in northern Canada: an {IPY} opportunity to meet the challenges of the new northern research paradigm},
-	volume = {64},
-	url = {http://search.proquest.com/openview/09405a4d127d9f97d6eb37ae2598ef8b/1?pq-origsite=gscholar&cbl=40958},
-	shorttitle = {Environmental change and traditional use of the Old Crow Flats in northern Canada},
-	pages = {127},
-	number = {1},
-	journaltitle = {Arctic},
-	author = {Wolfe, Brent B. and Humphries, Murray M. and Pisaric, Michael FJ and Balasubramaniam, Ann M. and Burn, Chris R. and Chan, Laurie and Cooley, Dorothy and Froese, Duane G. and Graupe, Shel and Hall, Roland I. and {others}},
-	urldate = {2017-07-11},
-	date = {2011},
-	file = {Wolfe et al. - 2011 - Environmental change and traditional use of the Ol.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ZPA2CX36\\Wolfe et al. - 2011 - Environmental change and traditional use of the Ol.pdf:application/pdf}
-}
-
-@article{turner_characterizing_2010,
-	title = {Characterizing the role of hydrological processes on lake water balances in the Old Crow Flats, Yukon Territory, Canada, using water isotope tracers},
-	volume = {386},
-	issn = {00221694},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0022169410001381},
-	doi = {10.1016/j.jhydrol.2010.03.012},
-	pages = {103--117},
-	number = {1},
-	journaltitle = {Journal of Hydrology},
-	author = {Turner, Kevin W. and Wolfe, Brent B. and Edwards, Thomas W.D.},
-	urldate = {2017-07-11},
-	date = {2010-05},
-	langid = {english},
-	file = {Turner 2010 Characterising the role of hydrological process - OCF.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\CBN6I3K8\\Turner 2010 Characterising the role of hydrological process - OCF.pdf:application/pdf}
-}
-
-@article{sturm_changing_2005,
-	title = {Changing snow and shrub conditions affect albedo with global implications},
-	volume = {110},
-	issn = {0148-0227},
-	url = {http://doi.wiley.com/10.1029/2005JG000013},
-	doi = {10.1029/2005JG000013},
-	issue = {G1},
-	journaltitle = {Journal of Geophysical Research},
-	author = {Sturm, Matthew},
-	urldate = {2017-07-11},
-	date = {2005},
-	langid = {english},
-	file = {Sturm - 2005 - Changing snow and shrub conditions affect albedo w.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4MWJX3K3\\Sturm - 2005 - Changing snow and shrub conditions affect albedo w.pdf:application/pdf}
-}
-
-@article{sturm_snowshrub_2001,
-	title = {Snow–shrub interactions in Arctic tundra: a hypothesis with climatic implications},
-	volume = {14},
-	url = {http://journals.ametsoc.org/doi/abs/10.1175/1520-0442(2001)014%3C0336:SSIIAT%3E2.0.CO%3B2},
-	shorttitle = {Snow–shrub interactions in Arctic tundra},
-	pages = {336--344},
-	number = {3},
-	journaltitle = {Journal of Climate},
-	author = {Sturm, Matthew and Holmgren, Jon and {McFadden}, Joseph P. and Liston, Glen E. and Chapin {III}, F. Stuart and Racine, Charles H.},
-	urldate = {2017-07-11},
-	date = {2001},
-	file = {Sturm et al. - 2001 - Snow–shrub interactions in Arctic tundra a hypoth.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\UKAKDNPV\\Sturm et al. - 2001 - Snow–shrub interactions in Arctic tundra a hypoth.pdf:application/pdf}
-}
-
-@article{blok_shrub_2010,
-	title = {Shrub expansion may reduce summer permafrost thaw in Siberian tundra},
-	volume = {16},
-	issn = {13541013, 13652486},
-	url = {http://doi.wiley.com/10.1111/j.1365-2486.2009.02110.x},
-	doi = {10.1111/j.1365-2486.2009.02110.x},
-	pages = {1296--1305},
-	number = {4},
-	journaltitle = {Global Change Biology},
-	author = {Blok, D. and Heijmans, M. M. P. D. and Schaepman-Strub, G. and Kononov, A. V. and Maximov, T. C. and Berendse, F.},
-	urldate = {2017-07-11},
-	date = {2010-04},
-	langid = {english},
-	file = {Blok et al. - 2010 - Shrub expansion may reduce summer permafrost thaw .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\35FI3H4X\\Blok et al. - 2010 - Shrub expansion may reduce summer permafrost thaw .pdf:application/pdf}
-}
-
-@article{beck_corrigendum:_2012,
-	title = {Corrigendum: Satellite observations of high northern latitude vegetation productivity changes between 1982 and 2008: ecological variability and regional differences},
-	volume = {7},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/7/i=2/a=029501?key=crossref.71b082981f4be8dfd192909a1eabddbf},
-	doi = {10.1088/1748-9326/7/2/029501},
-	shorttitle = {Corrigendum},
-	pages = {029501},
-	number = {2},
-	journaltitle = {Environmental Research Letters},
-	author = {Beck, Pieter S A and Goetz, Scott J},
-	urldate = {2017-07-11},
-	date = {2012-06-01},
-	file = {Beck and Goetz - 2012 - Corrigendum Satellite observations of high northe.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\4RRV3R4Z\\Beck and Goetz - 2012 - Corrigendum Satellite observations of high northe.pdf:application/pdf}
-}
-
-@article{paradis_greater_2016,
-	title = {Greater effect of increasing shrub height on winter versus summer soil temperature},
-	volume = {11},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/11/i=8/a=085005?key=crossref.7b7752b09481fb6d33045327abdd3395},
-	doi = {10.1088/1748-9326/11/8/085005},
-	pages = {085005},
-	number = {8},
-	journaltitle = {Environmental Research Letters},
-	author = {Paradis, Mélissa and Lévesque, Esther and Boudreau, Stéphane},
-	urldate = {2017-07-11},
-	date = {2016-08-01},
-	file = {Paradis et al. - 2016 - Greater effect of increasing shrub height on winte.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\HCJANEGX\\Paradis et al. - 2016 - Greater effect of increasing shrub height on winte.pdf:application/pdf}
-}
-
-@article{naito_patterns_2011,
-	title = {Patterns and processes of global shrub expansion},
-	volume = {35},
-	issn = {0309-1333, 1477-0296},
-	url = {http://journals.sagepub.com/doi/10.1177/0309133311403538},
-	doi = {10.1177/0309133311403538},
-	pages = {423--442},
-	number = {4},
-	journaltitle = {Progress in Physical Geography},
-	author = {Naito, Adam T. and Cairns, David M.},
-	urldate = {2017-07-11},
-	date = {2011-08},
-	langid = {english},
-	file = {Naito and Cairns - 2011 - Patterns and processes of global shrub expansion.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\5G8NZ9QP\\Naito and Cairns - 2011 - Patterns and processes of global shrub expansion.pdf:application/pdf}
-}
-
-@article{myers-smith_shrub_2011-1,
-	title = {Shrub expansion in tundra ecosystems: dynamics, impacts and research priorities},
-	volume = {6},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/6/i=4/a=045509?key=crossref.3e2b3e3172ca6f9fc39a607c137b880f},
-	doi = {10.1088/1748-9326/6/4/045509},
-	shorttitle = {Shrub expansion in tundra ecosystems},
-	pages = {045509},
-	number = {4},
-	journaltitle = {Environmental Research Letters},
-	author = {Myers-Smith, Isla H and Forbes, Bruce C and Wilmking, Martin and Hallinger, Martin and Lantz, Trevor and Blok, Daan and Tape, Ken D and Macias-Fauria, Marc and Sass-Klaassen, Ute and Lévesque, Esther and Boudreau, Stéphane and Ropars, Pascale and Hermanutz, Luise and Trant, Andrew and Collier, Laura Siegwart and Weijers, Stef and Rozema, Jelte and Rayback, Shelly A and Schmidt, Niels Martin and Schaepman-Strub, Gabriela and Wipf, Sonja and Rixen, Christian and Ménard, Cécile B and Venn, Susanna and Goetz, Scott and Andreu-Hayles, Laia and Elmendorf, Sarah and Ravolainen, Virve and Welker, Jeffrey and Grogan, Paul and Epstein, Howard E and Hik, David S},
-	urldate = {2017-07-11},
-	date = {2011-12-01},
-	file = {Myers-Smith et al. - 2011 - Shrub expansion in tundra ecosystems dynamics, im.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\GRPDSF39\\Myers-Smith et al. - 2011 - Shrub expansion in tundra ecosystems dynamics, im.pdf:application/pdf}
-}
-
-@article{loranty_tundra_2011,
-	title = {Tundra vegetation effects on pan-Arctic albedo},
-	volume = {6},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/6/i=2/a=029601?key=crossref.2e8808c62dac2c1672cede1d420f86fa},
-	doi = {10.1088/1748-9326/6/2/029601},
-	pages = {029601},
-	number = {2},
-	journaltitle = {Environmental Research Letters},
-	author = {Loranty, Michael M and Goetz, Scott J and Beck, Pieter S A},
-	urldate = {2017-07-11},
-	date = {2011-06-01},
-	file = {Loranty et al. - 2011 - Tundra vegetation effects on pan-Arctic albedo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\CG2CSWIX\\Loranty et al. - 2011 - Tundra vegetation effects on pan-Arctic albedo.pdf:application/pdf}
-}
-
-@article{liston_modelled_2002,
-	title = {Modelled changes in arctic tundra snow, energy and moisture fluxes due to increased shrubs},
-	volume = {8},
-	url = {http://onlinelibrary.wiley.com/doi/10.1046/j.1354-1013.2001.00416.x/full},
-	pages = {17--32},
-	number = {1},
-	journaltitle = {Global Change Biology},
-	author = {Liston, Glen E. and Mcfadden, Joseph P. and Sturm, Matthew and Pielke, Roger A.},
-	urldate = {2017-07-11},
-	date = {2002},
-	file = {Liston et al. - 2002 - Modelled changes in arctic tundra snow, energy and.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\2H8GSEDM\\Liston et al. - 2002 - Modelled changes in arctic tundra snow, energy and.pdf:application/pdf}
-}
-
-@article{lantz_response_2010,
-	title = {Response of green alder (Alnus viridis subsp. fruticosa) patch dynamics and plant community composition to fire and regional temperature in north-western Canada: Response of vegetation to fire and regional climate},
-	issn = {03050270, 13652699},
-	url = {http://doi.wiley.com/10.1111/j.1365-2699.2010.02317.x},
-	doi = {10.1111/j.1365-2699.2010.02317.x},
-	shorttitle = {Response of green alder (Alnus viridis subsp. fruticosa) patch dynamics and plant community composition to fire and regional temperature in north-western Canada},
-	pages = {no--no},
-	journaltitle = {Journal of Biogeography},
-	author = {Lantz, Trevor C. and Gergel, Sarah E. and Henry, Greg H. R.},
-	urldate = {2017-07-11},
-	date = {2010-05},
-	langid = {english},
-	file = {Lantz et al. - 2010 - Response of green alder (Alnus viridis subsp. frut.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\U473UEV5\\Lantz et al. - 2010 - Response of green alder (Alnus viridis subsp. frut.pdf:application/pdf}
-}
-
-@article{lantz_relative_2009,
-	title = {Relative impacts of disturbance and temperature: persistent changes in microenvironment and vegetation in retrogressive thaw slumps},
-	volume = {15},
-	issn = {13541013, 13652486},
-	url = {http://doi.wiley.com/10.1111/j.1365-2486.2009.01917.x},
-	doi = {10.1111/j.1365-2486.2009.01917.x},
-	shorttitle = {Relative impacts of disturbance and temperature},
-	pages = {1664--1675},
-	number = {7},
-	journaltitle = {Global Change Biology},
-	author = {Lantz, Trevor C. and Kokelj, Steven V. and Gergel, Sarah E. and Henry, Greg H. R.},
-	urldate = {2017-07-11},
-	date = {2009-07},
-	langid = {english},
-	file = {Lantz et al. - 2009 - Relative impacts of disturbance and temperature p.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\7KFTF2Z5\\Lantz et al. - 2009 - Relative impacts of disturbance and temperature p.pdf:application/pdf}
-}
-
-@article{korosi_broad-scale_2017,
-	title = {Broad-scale lake expansion and flooding inundates essential wood bison habitat},
-	volume = {8},
-	issn = {2041-1723},
-	url = {http://www.nature.com/doifinder/10.1038/ncomms14510},
-	doi = {10.1038/ncomms14510},
-	pages = {14510},
-	journaltitle = {Nature Communications},
-	author = {Korosi, Jennifer B. and Thienpont, Joshua R. and Pisaric, Michael F. J. and {deMontigny}, Peter and Perreault, Joelle T. and {McDonald}, Jamylynn and Simpson, Myrna J. and Armstrong, Terry and Kokelj, Steven V. and Smol, John P. and Blais, Jules M.},
-	urldate = {2017-07-11},
-	date = {2017-02-23},
-	file = {Korosi et al. - 2017 - Broad-scale lake expansion and flooding inundates .pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\8J5JH3BH\\Korosi et al. - 2017 - Broad-scale lake expansion and flooding inundates .pdf:application/pdf}
-}
-
-@article{hallinger_establishing_2010,
-	title = {Establishing a missing link: warm summers and winter snow cover promote shrub expansion into alpine tundra in Scandinavia},
-	volume = {186},
-	issn = {0028646X},
-	url = {http://doi.wiley.com/10.1111/j.1469-8137.2010.03223.x},
-	doi = {10.1111/j.1469-8137.2010.03223.x},
-	shorttitle = {Establishing a missing link},
-	pages = {890--899},
-	number = {4},
-	journaltitle = {New Phytologist},
-	author = {Hallinger, Martin and Manthey, Michael and Wilmking, Martin},
-	urldate = {2017-07-11},
-	date = {2010-06},
-	langid = {english},
-	file = {Hallinger et al. - 2010 - Establishing a missing link warm summers and wint.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\T2IXWH6W\\Hallinger et al. - 2010 - Establishing a missing link warm summers and wint.pdf:application/pdf}
-}
-
-@article{johnstone_environmental_2008,
-	title = {Environmental conditions and vegetation recovery at abandoned drilling mud sumps in the Mackenzie Delta region, Northwest Territories, Canada},
-	url = {http://www.jstor.org/stable/40513206},
-	pages = {199--211},
-	journaltitle = {Arctic},
-	author = {Johnstone, Jill F. and Kokelj, Steven V.},
-	urldate = {2017-07-11},
-	date = {2008},
-	file = {Johnstone and Kokelj - 2008 - Environmental conditions and vegetation recovery a.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\PUAK44TF\\Johnstone and Kokelj - 2008 - Environmental conditions and vegetation recovery a.pdf:application/pdf}
-}
-
-@article{kemper_directional_2009,
-	title = {Directional change in upland tundra plant communities 20-30 years after seismic exploration in the Canadian low-arctic},
-	volume = {20},
-	url = {http://onlinelibrary.wiley.com/doi/10.1111/j.1654-1103.2009.01069.x/full},
-	pages = {557--567},
-	number = {3},
-	journaltitle = {Journal of Vegetation Science},
-	author = {Kemper, J. Todd and Macdonald, S. Ellen},
-	urldate = {2017-07-11},
-	date = {2009},
-	file = {Kemper and Macdonald - 2009 - Directional change in upland tundra plant communit.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\SEJPMQPM\\Kemper and Macdonald - 2009 - Directional change in upland tundra plant communit.pdf:application/pdf}
-}
-
-@article{dial_changes_2007,
-	title = {Changes in the alpine forest-tundra ecotone commensurate with recent warming in southcentral Alaska: Evidence from orthophotos and field plots: {TREE} {LINE} {CHANGES} {IN} {SOUTHCENTRAL} {ALASKA}},
-	volume = {112},
-	issn = {01480227},
-	url = {http://doi.wiley.com/10.1029/2007JG000453},
-	doi = {10.1029/2007JG000453},
-	shorttitle = {Changes in the alpine forest-tundra ecotone commensurate with recent warming in southcentral Alaska},
-	pages = {n/a--n/a},
-	issue = {G4},
-	journaltitle = {Journal of Geophysical Research: Biogeosciences},
-	author = {Dial, Roman J. and Berg, Edward E. and Timm, Katriina and {McMahon}, Alissa and Geck, Jason},
-	urldate = {2017-07-11},
-	date = {2007-12},
-	langid = {english},
-	file = {Dial et al. - 2007 - Changes in the alpine forest-tundra ecotone commen.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\NV4FKNGN\\Dial et al. - 2007 - Changes in the alpine forest-tundra ecotone commen.pdf:application/pdf}
-}
-
-@article{dahlgren_age_2016,
-	title = {Age distributions of Greenlandic dwarf shrubs support concept of negligible actuarial senescence},
-	volume = {7},
-	issn = {21508925},
-	url = {http://doi.wiley.com/10.1002/ecs2.1521},
-	doi = {10.1002/ecs2.1521},
-	pages = {e01521},
-	number = {10},
-	journaltitle = {Ecosphere},
-	author = {Dahlgren, Johan P. and Rizzi, Silvia and Schweingruber, Fritz H. and Hellmann, Lena and Büntgen, Ulf},
-	urldate = {2017-07-11},
-	date = {2016-10},
-	langid = {english},
-	file = {Dahlgren_et_al-2016-Ecosphere.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\7G34882A\\Dahlgren_et_al-2016-Ecosphere.pdf:application/pdf}
-}
-
-@article{fraser_uav_2016,
-	title = {{UAV} photogrammetry for mapping vegetation in the low-Arctic},
-	volume = {2},
-	issn = {2368-7460},
-	url = {http://www.nrcresearchpress.com/doi/10.1139/as-2016-0008},
-	doi = {10.1139/as-2016-0008},
-	pages = {79--102},
-	number = {3},
-	journaltitle = {Arctic Science},
-	author = {Fraser, Robert H. and Olthof, Ian and Lantz, Trevor C. and Schmitt, Carla},
-	urldate = {2017-07-11},
-	date = {2016-09},
-	langid = {english},
-	file = {Fraser et al. - 2016 - UAV photogrammetry for mapping vegetation in the l.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\RBZXGWB9\\Fraser et al. - 2016 - UAV photogrammetry for mapping vegetation in the l.pdf:application/pdf}
-}
-
-@article{anisimov_arctic_2017,
-	title = {Arctic Ecosystems and their Services Under Changing Climate: Predictive-Modeling Assessment},
-	volume = {107},
-	url = {http://onlinelibrary.wiley.com/doi/10.1111/j.1931-0846.2016.12199.x/full},
-	shorttitle = {Arctic Ecosystems and their Services Under Changing Climate},
-	pages = {108--124},
-	number = {1},
-	journaltitle = {Geographical Review},
-	author = {Anisimov, Oleg and Kokorev, Vasily and Zhiltcova, Yelena},
-	urldate = {2017-07-11},
-	date = {2017},
-	file = {Arctic Ecosystems and Their Services Under Changing Climate.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\FQBTGIAK\\Arctic Ecosystems and Their Services Under Changing Climate.pdf:application/pdf}
-}
-
-@article{militino_stochastic_2017,
-	title = {Stochastic Spatio-Temporal Models for Analysing {NDVI} Distribution of {GIMMS} {NDVI}3g Images},
-	volume = {9},
-	issn = {2072-4292},
-	url = {http://www.mdpi.com/2072-4292/9/1/76},
-	doi = {10.3390/rs9010076},
-	pages = {76},
-	number = {1},
-	journaltitle = {Remote Sensing},
-	author = {Militino, Ana and Ugarte, Maria and Pérez-Goya, Unai},
-	urldate = {2017-07-11},
-	date = {2017-01-15},
-	langid = {english},
-	file = {Militino et al. - 2017 - Stochastic Spatio-Temporal Models for Analysing ND.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\TPPXSR5G\\Militino et al. - 2017 - Stochastic Spatio-Temporal Models for Analysing ND.pdf:application/pdf}
-}
-
-@article{moffat_recent_2016,
-	title = {Recent Vegetation Change (1980–2013) in the Tundra Ecosystems of the Tuktoyaktuk Coastlands, {NWT}, Canada},
-	volume = {48},
-	issn = {1523-0430, 1938-4246},
-	url = {http://www.bioone.org/doi/10.1657/AAAR0015-063},
-	doi = {10.1657/AAAR0015-063},
-	pages = {581--597},
-	number = {3},
-	journaltitle = {Arctic, Antarctic, and Alpine Research},
-	author = {Moffat, Nina D. and Lantz, Trevor C. and Fraser, Robert H. and Olthof, Ian},
-	urldate = {2017-07-11},
-	date = {2016-08},
-	langid = {english},
-	file = {Moffat et al. - 2016 - Recent Vegetation Change (1980–2013) in the Tundra.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\IJJ8UXS6\\Moffat et al. - 2016 - Recent Vegetation Change (1980–2013) in the Tundra.pdf:application/pdf}
-}
-
-@article{pattison_trends_2015,
-	title = {Trends in {NDVI} and Tundra Community Composition in the Arctic of {NE} Alaska Between 1984 and 2009},
-	volume = {18},
-	issn = {1432-9840, 1435-0629},
-	url = {http://link.springer.com/10.1007/s10021-015-9858-9},
-	doi = {10.1007/s10021-015-9858-9},
-	pages = {707--719},
-	number = {4},
-	journaltitle = {Ecosystems},
-	author = {Pattison, Robert R. and Jorgenson, Janet C. and Raynolds, Martha K. and Welker, Jeffery M.},
-	urldate = {2017-07-11},
-	date = {2015-06},
-	langid = {english},
-	file = {Pattison et al. - 2015 - Trends in NDVI and Tundra Community Composition in.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\M4GT9EHE\\Pattison et al. - 2015 - Trends in NDVI and Tundra Community Composition in.pdf:application/pdf}
-}
-
-@article{greaves_estimating_2015,
-	title = {Estimating aboveground biomass and leaf area of low-stature Arctic shrubs with terrestrial {LiDAR}},
-	volume = {164},
-	issn = {00344257},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0034425715000826},
-	doi = {10.1016/j.rse.2015.02.023},
-	pages = {26--35},
-	journaltitle = {Remote Sensing of Environment},
-	author = {Greaves, Heather E. and Vierling, Lee A. and Eitel, Jan U.H. and Boelman, Natalie T. and Magney, Troy S. and Prager, Case M. and Griffin, Kevin L.},
-	urldate = {2017-07-11},
-	date = {2015-07},
-	langid = {english},
-	file = {Greaves et al. - 2015 - Estimating aboveground biomass and leaf area of lo.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\6IN4XJHA\\Greaves et al. - 2015 - Estimating aboveground biomass and leaf area of lo.pdf:application/pdf}
-}
-
-@article{olofsson_good_2014,
-	title = {Good practices for estimating area and assessing accuracy of land change},
-	volume = {148},
-	issn = {00344257},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0034425714000704},
-	doi = {10.1016/j.rse.2014.02.015},
-	pages = {42--57},
-	journaltitle = {Remote Sensing of Environment},
-	author = {Olofsson, Pontus and Foody, Giles M. and Herold, Martin and Stehman, Stephen V. and Woodcock, Curtis E. and Wulder, Michael A.},
-	urldate = {2017-07-11},
-	date = {2014-05},
-	langid = {english},
-	file = {Olofsson et al. - 2014 - Good practices for estimating area and assessing a.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\MA5FKWXJ\\Olofsson et al. - 2014 - Good practices for estimating area and assessing a.pdf:application/pdf}
-}
-
-@article{wulder_lidar_2012,
-	title = {Lidar sampling for large-area forest characterization: A review},
-	volume = {121},
-	issn = {00344257},
-	url = {http://linkinghub.elsevier.com/retrieve/pii/S0034425712000855},
-	doi = {10.1016/j.rse.2012.02.001},
-	shorttitle = {Lidar sampling for large-area forest characterization},
-	pages = {196--209},
-	journaltitle = {Remote Sensing of Environment},
-	author = {Wulder, Michael A. and White, Joanne C. and Nelson, Ross F. and Næsset, Erik and Ørka, Hans Ole and Coops, Nicholas C. and Hilker, Thomas and Bater, Christopher W. and Gobakken, Terje},
-	urldate = {2017-07-11},
-	date = {2012-06},
-	langid = {english},
-	file = {Wulder et al. - 2012 - Lidar sampling for large-area forest characterizat.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\ARMF4NBB\\Wulder et al. - 2012 - Lidar sampling for large-area forest characterizat.pdf:application/pdf}
-}
-
-@article{porter_temperature-growth_2011,
-	title = {Temperature-growth divergence in white spruce forests of Old Crow Flats, Yukon Territory, and adjacent regions of northwestern North America},
-	volume = {17},
-	issn = {13541013},
-	url = {http://doi.wiley.com/10.1111/j.1365-2486.2011.02507.x},
-	doi = {10.1111/j.1365-2486.2011.02507.x},
-	pages = {3418--3430},
-	number = {11},
-	journaltitle = {Global Change Biology},
-	author = {Porter, Trevor J. and Pisaric, Michael F. J.},
-	urldate = {2017-07-11},
-	date = {2011-11},
-	langid = {english},
-	file = {Porter and Pisaric - 2011 - Temperature-growth divergence in white spruce fore.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\23CCN7BK\\Porter and Pisaric - 2011 - Temperature-growth divergence in white spruce fore.pdf:application/pdf}
-}
-
-@article{white_food_2007,
-	title = {Food and water security in a changing arctic climate},
-	volume = {2},
-	issn = {1748-9326},
-	url = {http://stacks.iop.org/1748-9326/2/i=4/a=045018?key=crossref.d4de7703f8707536a0c7fa3cf28caf94},
-	doi = {10.1088/1748-9326/2/4/045018},
-	pages = {045018},
-	number = {4},
-	journaltitle = {Environmental Research Letters},
-	author = {White, Daniel M and Craig Gerlach, S and Loring, Philip and Tidwell, Amy C and Chambers, Molly C},
-	urldate = {2017-07-11},
-	date = {2007-10},
-	file = {White et al. - 2007 - Food and water security in a changing arctic clima.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\UGI5NDKN\\White et al. - 2007 - Food and water security in a changing arctic clima.pdf:application/pdf}
-}
-
-@incollection{simpson_human_2012,
-	location = {Dordrecht},
-	title = {Human Impacts: Applications of Numerical Methods to Evaluate Surface-Water Acidification and Eutrophication},
-	volume = {5},
-	isbn = {978-94-007-2744-1 978-94-007-2745-8},
-	url = {http://link.springer.com/10.1007/978-94-007-2745-8},
-	series = {Developments in Paleoenvironmental Research},
-	pages = {579--614},
-	booktitle = {Tracking Environmental Change Using Lake Sediments},
-	publisher = {Springer Netherlands},
-	author = {Simpson, George L. and Hall, Roland I.},
-	editor = {Birks, H. John B. and Juggins, Steve and Smol, John P.},
-	urldate = {2017-07-11},
-	date = {2012},
-	doi = {10.1007/978-94-007-2745-8},
-	file = {Simpson and Hall - 2012 - Human Impacts Applications of Numerical Methods t.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\Z9CEMCUB\\Simpson and Hall - 2012 - Human Impacts Applications of Numerical Methods t.pdf:application/pdf}
-}
-
-@collection{birks_tracking_2012,
-	location = {Dordrecht},
-	title = {Tracking Environmental Change Using Lake Sediments},
-	volume = {5},
-	isbn = {978-94-007-2744-1 978-94-007-2745-8},
-	url = {http://link.springer.com/10.1007/978-94-007-2745-8},
-	series = {Developments in Paleoenvironmental Research},
-	publisher = {Springer Netherlands},
-	editor = {Birks, H. John B. and Lotter, André F. and Juggins, Steve and Smol, John P.},
-	urldate = {2017-07-11},
-	date = {2012},
-	doi = {10.1007/978-94-007-2745-8},
-	file = {Birks et al. - 2012 - Tracking Environmental Change Using Lake Sediments.pdf:C\:\\Users\\Brent Thorne\\Zotero\\storage\\J7KIKFJ7\\Birks et al. - 2012 - Tracking Environmental Change Using Lake Sediments.pdf:application/pdf}
-}
\ No newline at end of file
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
index c554f17..acc8ab2 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
+++ b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.tex b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.tex
index b0e2e6d..26e94d0 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.tex
+++ b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.tex
@@ -20,8 +20,8 @@
 %spacing between figure/ table and caption
 \setlength{\abovecaptionskip}{0.4in}
 \setlength{\belowcaptionskip}{0.1in}
-\captionnamefont{\small\sffamily\bfseries}
-\captiontitlefont{\small\sffamily}
+\captionnamefont{\footnotesize\sffamily\bfseries}
+\captiontitlefont{\footnotesize\sffamily}
 
 %define column options
 \setlength{\columnseprule}{1pt}
@@ -37,16 +37,16 @@
 \usepackage[paperwidth=45in,paperheight=38in, text={7in,10in},centering]{geometry}
 
 \geometry{
-left=1in,
-right=0mm,
+left=5mm,
+right=5mm,
 top=0mm,
-bottom=1in,
+bottom=5mm,
 headheight=0mm,
 }
 
 \thispagestyle{empty}
 
-\usepackage[style=authoryear-comp,backend=biber]{biblatex}
+\usepackage[style=numeric,backend=biber]{biblatex}
 \renewcommand*{\bibfont}{\tiny}
 
 \bibliography{MyLibrary}
@@ -60,6 +60,7 @@
 }
 
 \setlength\parindent{10mm}
+\setlength\hangindent{10mm}
 
 \chapterstyle{mydefault}
 
@@ -100,11 +101,12 @@
   \huge\textbf{Identifying relationships among catchment land cover characteristics,
 active layer properties and lake hydroecology in Old Crow Flats, Yukon,
 Canada}\\[0.3in]
-  \large Brent Thorne\par
+  \Large W. Brent Thorne\footnote{1}; Kevin W. Turner\footnote{2}\par
 \endgroup
 \vspace{1.2in}
 % end title section -------------------
   \end{shaded}
+
 % Brgin body of poster
 \begin{multicols*}{3}
 \small{\noindent
@@ -150,14 +152,7 @@
   Finally, my third objectives.
 \end{enumerate}
 
-\begin{figure}
-
-{\centering \includegraphics[width=0.6\linewidth]{skeleton_files/figure-latex/unnamed-chunk-3-1} 
-
-}
-
-\caption{This is a typical ggplot2 example using the iris dataset provided in R.}\label{fig:unnamed-chunk-3}
-\end{figure}
+\section{Methods}\label{methods}
 
 Lacinia quis vel eros donec ac odio tempor. Vel quam elementum pulvinar
 etiam non quam lacus suspendisse. Nec tincidunt praesent semper feugiat
@@ -169,8 +164,6 @@
 integer malesuada nunc. Est lorem ipsum dolor sit amet consectetur
 adipiscing. Enim sit amet venenatis urna cursus eget nunc.
 
-\section{Methods}\label{methods}
-
 Elementum facilisis leo vel fringilla est ullamcorper eget nulla. Vitae
 congue eu consequat ac felis donec et. Morbi tincidunt ornare massa
 eget. Iaculis nunc sed augue lacus viverra vitae congue eu. Donec massa
@@ -191,6 +184,20 @@
 
 \begin{figure}
 
+{\centering \includegraphics[width=0.6\linewidth]{skeleton_files/figure-latex/unnamed-chunk-3-1} 
+
+}
+
+\caption{This is a typical ggplot2 example using the iris dataset provided in R.}\label{fig:unnamed-chunk-3}
+\end{figure}
+
+Sagittis purus sit amet volutpat consequat mauris. Lobortis mattis
+aliquam faucibus purus. Libero enim sed faucibus turpis in eu. Massa
+placerat duis ultricies lacus sed turpis tincidunt id. Arcu dictum
+varius duis at consectetur lorem done.
+
+\begin{figure}
+
 {\centering \includegraphics[width=0.8\linewidth]{Figures/figure2} 
 
 }
@@ -228,6 +235,19 @@
 Ullamcorper malesuada proin libero nunc. Elit ullamcorper dignissim cras
 tincidunt lobortis feugiat vivamus. Eget dolor morbi non arcu risus
 quis. Pulvinar pellentesque habitant morbi tristique senectus.
+
+\section{Next Steps}\label{next-steps}
+
+Pellentesque habitant morbi tristique senectus et netus. Magnis dis
+parturient montes nascetur ridiculus mus mauris vitae ultricies. Nibh
+nisl condimentum id venenatis. Lorem ipsum dolor sit amet consectetur
+adipiscing elit duis. Eget aliquet nibh praesent tristique magna sit
+amet purus. Orci phasellus egestas tellus rutrum. Mauris cursus mattis
+molestie a. Amet cursus sit amet dictum sit. Tellus id interdum velit
+laoreet. Tortor at risus viverra adipiscing. Ullamcorper malesuada proin
+libero nunc. Elit ullamcorper dignissim cras tincidunt lobortis feugiat
+vivamus. Eget dolor morbi non arcu risus quis. Pulvinar pellentesque
+habitant morbi tristique senectus.
 \printbibliography
 }
 \end{multicols*}
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf
index 1f7ac78..e1cdf38 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf
+++ b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-3-1.pdf b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-3-1.pdf
index c9b41ef..81e90e0 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-3-1.pdf
+++ b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-3-1.pdf
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf
index dfb50d3..31a56d3 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf
+++ b/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf
Binary files differ
