-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmachinelearning.html
472 lines (445 loc) · 29.3 KB
/
machinelearning.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
<!DOCTYPE HTML>
<!--
Spectral by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Tasha Snow - Machine Learning</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
<noscript><link rel="stylesheet" href="assets/css/noscript.css" /></noscript>
</head>
<body class="is-preload">
<!-- Page Wrapper -->
<div id="page-wrapper">
<!-- Header -->
<header id="header">
<h1><a href="index.html">Tasha Snow</a></h1>
<nav id="nav">
<ul>
<li class="special">
<a href="#menu" class="menuToggle"><span>Menu</span></a>
<div id="menu">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="projects.html">Research Projects</a></li>
<li><a href="openscience.html">Open Science</a></li>
<li><a href="projects.html">Thermal Research</a></li>
<li><a href="machinelearning.html">Machine Learning</a></li>
<li><a href="elements.html">Photos</a></li>
<li><a href="elements.html">News</a></li>
</ul>
</div>
</li>
</ul>
</nav>
</header>
<!-- Main -->
<article id="main">
<header>
<h2>A niche for Machine Learning in geoscience</h2>
<p></p>
</header>
<section class="wrapper style5">
<div class="inner">
<section>
<h2>Is a 'black box' useful in science?</h2>
<p>Despite good performance across a range of remote sensing and time series applications, machine learning methods are often considered 'black-boxes'.
That is, they are often unexplainable because we do not know why/how they are making decisions to get to certain answers. Because machine
learning models are often empirically-derived (data-driven) models, their main weakness is that they are often incapable of generating practical
(generalizable) predictions that can be transferred to other regions or to other similar kinds of problems. In science, we want to know the
underlying physics of how the world works. It is crucial to find mathematical, physics-based relationships between the predictor and response
variables. These predictive equations can be generalized to predict outside of the scope of observations already made and applied to other models.
Machine learning algorithms do not provide mathematical relationships between variables that can be generalized for application in other models or
for a better understanding of the physics involved (Hastie, 2009). They may find certain variables more important or draw specific relationships
between predictor and response variables, but often these relationships are ambiguous in the outputs or the exact relationships are unidentifiable.
So is there value in an unexplainable or non-generalizable result in science?</p>
<p><b>The simplest answer is: it depends on your goal.</b> </p>
<h2>Advantages over traditional statistical approaches</h2>
<p>Machine learning has the capacity to outperform more traditional statistical approaches in many classification, regression, and forecasting problems
(Lary et al., 2016). Traditional methods require making many pre-assumptions about the data and its distribution such as: linearity (data can be
represented as a straight line), homoscedasticity (the spread of data around the average is constant), error mean of 0 (differences between actual
data and the model cancel out, having an average error of 0 and ensuring the model is unbiased and efficient), each data point is independent
(individual observations are not influenced by or associated with each other), or normality (data is perfectly symmetrically distributed across a
normal Gaussian bell-curve) (Lütkepohl, 2007). The user must have intimate knowledge of the data to know what test will be applicable and will have
to make assumptions that do not necessarily hold up in every single situation.</p>
<p>Alternatively, machine learning makes few pre-assumptions and automatically improves with experience (Hastie, 2009; Murphy, 2012). In general, it is
meant to be able to parse large amounts of data, learn from it, and then apply that knowledge to predict something in the real world. Machine learning
tends to be computationally very inexpensive in comparison to traditional numerical methods. Another key advantage for using some machine learning
techniques that is extremely valuable for remote sensing in particular, is that the trained model can be updated with new information as more is
acquired; it can be an online learner (Zhang et al., 2017). Many similar machine learning techniques would require a completely new model to be produced
from scratch when more data is ready to be added. However, some (e.g., Long-Short Term Memory) allow the user to make continuous predictions while
continuously updating to a stronger, better informed model with new incoming data. Some require no parameter fine-tuning (Hochreiter and Schmidhuber, 2006).
Some also generalize well, can handle sparse data, and can rapidly learn to distinguish between widely separated events that would be entirely missed by
traditional models or human observation.</p>
<p>Machine learning techniques are also capable of modeling nonparametric, high dimensional, noisy, and nonlinear datasets (Lary et al., 2016). Many
relationships in the real world are nonlinear and noisy. Numerical methods determine primary variable relationships and, if the model terms are calculated
to explain a significant amount of the variance within the data, the model is deemed useful. However, as an example, this may mean that only 30-70% of the
variance in the data is explained (depending on the degrees of freedom) and the rest of the variance, deemed as an error term, goes without expressly being
modeled. Physics-based models are limited by availability of <i>a priori</i> information about the processes and the limited capacity of the modeler
implementing them to identify those processes (Lütkepohl, 2007). If a modeler does not know to model a specific phenomenon, the model will not incorporate
it and the model will be incomplete. Machine learning, however, can learn from and understand the relationships buried within noise to create better
predictive models. The primary relationships modeled in traditional models tend to be physical phenomenon that are readily apparent and of interest at the
scale of the system being modeled. The noise or chaos beyond those relationship, though, is still physically-derived phenomena that occurs somewhere
between the sub-atomic and planet scale, but has been overlooked or ignored by the modeler. With enough data, a machine learning algorithm would identify
a larger percentage of the relationships found in the noise than the traditional models, especially for highly complex problems like climate models. All
of these traits combined mean that 'black box' machine learning technique could offer a more rapid means of understanding environmental problems without
the need to have a complete theoretical grasp of the systems (Lary et al., 2016). That is, it could make better predictions because it can discern the
unknown relationships from the data. </p>
<h2>A need in polar science</h2>
<p>In glaciology, modeling outlet glacier dynamical responses to contemporary environmental changes has proven to be a challenge using traditional numerical
methods, but data-driven machine learning techniques could enhance that learning curve. Glacier systems are complex, highly variable, and require longer
time series than are sometimes available to determine the physics behind some of the more rapid changes taking place in the last two decades. Often there
are no direct observations of critical processes because these systems exist below a kilometer or two of ice in hard to reach and remote locations of the
world. To model these systems using traditional methods requires complex and computationally expensive numerical methods. For these reasons, our knowledge
of the physics is still incomplete and physics-based models have not yet been able to adequately reproduce <i>in situ</i> observations (Joughin et al., 2012).
These models have been advancing rapidly over the last two decades, but have not yet been incorporated into the complex climate models that are
traditionally used to predict major climate changes in the foreseeable future making an accurate estimation of sea level change challenging. Estimates
from sea level contributions from the ice sheets vary widely, causing sea level rise predictions to also vary widely from 0.3 to 2.5 m by 2010 (Jevrejeva et al., 2014;
DeConto and Pollard, 2016). Adequate coastal planning cannot be achieved with that scope of uncertainty.</p>
<p><b>Where can machine learning help?</b> While complex climate models that include ice sheet variability within them may be several years out, we may be able to
create climate forecasts that are more accurate, with a fraction of the number of lines of code, in a very short amount of time, and with limited knowledge
of the systems. Machine learning often performs better for forecasting highly complex systems, no matter how much of a theoretical understanding of the
system was captured in the traditional model; that complex of a system is impossible to model perfectly via numerical methods because of its scope.
Alternatively, machine learning can be used as emulators to improve the performance of physics-based models. Emulators are simplified models that mimic the behavior
of more complex climate models. They can be used to emulate a piece of a physics-based model to speed up and simplify the overall model.</p>
<p>Additionally, there is an incredible need for automating analyses as data volumes exponentially expand and we must conduct entire ice sheet analyses for very small
(sub-kilometer) to massive features. Much work has gone into automating the detection of glacier and ice shelf fronts (Baumhoer et al., 2019; Mohajerani et al., 2019;
Cheng et al., 2021), a task historically conducted by hand using hundreds of hours of intern and researcher hours. Machine learning has also been applied for sea ice
monitoring (Dumitri et al., 2019), identifying supraglacial lakes (Derscherl et al., 2020), ice crevasse detection (Williams et al., 2014), iceberg tracking (e.g.,
Barbat et al., 2021), and many other uses. The image classification methods predominantly utilize U-Nets, a class of Convolutional Neural Networks (CNN) architectures that excels at image segmentation...Still under construction
<h2>Our work: Image classification in polar regions</h2>
<p>When we use a satellite image, we are often only interested in making measurements from certain kinds of surfaces. For example, I am often interested in measuring sea
surface temperatures, which requires that I accurately know where the ocean exists in an image and that I exclude temperatures over ice or cloud. Classifying
satellite images of polar regions is a particularly challenging problem, though, because different kinds of surfaces can look really similar. Ocean can be hard to
distinguish from bare land in the polar regions because both are dark and can have relatively warm temperatures compared to ice. Even more problematic is the identification
of clouds because they can be thin and nearly transparent, therefore looking like the surface they cover, or can be white or gray like ice.</p>
<p>Appearing to be similar to our eye means that in an image, they may have similar spectral properties and therefore be hard to mathamatically tell apart using a
computer and traditional statitistical methods. That is, in the electromagnetic spectrum, they may look the same in different wavelengths that represent the
visible spectrum (i.e. the colors of the rainbow that we can see by eye), near infrared, shortwave infrared, or thermal infrared (heat). Still under construction....</p>
<h2>Making AI open</h2>
<p>
</p>
<hr />
<!-- <header>
<h4>Heading with a Subtitle</h4>
<p>This is <b>bold</b> and this is <strong>strong</strong>. This is <i>italic</i> and this is <em>emphasized</em>.
This is <sup>superscript</sup> text and this is <sub>subscript</sub> text.
This is <u>underlined</u> and this is code: <code>for (;;) { ... }</code>. Finally, <a href="#">this is a link</a>.</p>
</header>
<p>Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing blandit tempus accumsan.</p>
<header>
<h5>Heading with a Subtitle</h5>
<p>Lorem ipsum dolor sit amet nullam id egestas urna aliquam</p>
</header>
<p>Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing blandit tempus accumsan.</p>
<hr />
<h2>Heading Level 2</h2>
<h3>Heading Level 3</h3>
<h4>Heading Level 4</h4>
<h5>Heading Level 5</h5>
<h6>Heading Level 6</h6>
<hr />
<h5>Blockquote</h5>
<blockquote>Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.</blockquote>
<h5>Preformatted</h5>
<pre><code>i = 0;
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';</code></pre>
</section>
<section>
<h4>Lists</h4>
<div class="row">
<div class="col-6 col-12-medium">
<h5>Unordered</h5>
<ul>
<li>Dolor pulvinar etiam.</li>
<li>Sagittis adipiscing.</li>
<li>Felis enim feugiat.</li>
</ul>
<h5>Alternate</h5>
<ul class="alt">
<li>Dolor pulvinar etiam.</li>
<li>Sagittis adipiscing.</li>
<li>Felis enim feugiat.</li>
</ul>
</div>
<div class="col-6 col-12-medium">
<h5>Ordered</h5>
<ol>
<li>Dolor pulvinar etiam.</li>
<li>Etiam vel felis viverra.</li>
<li>Felis enim feugiat.</li>
<li>Dolor pulvinar etiam.</li>
<li>Etiam vel felis lorem.</li>
<li>Felis enim et feugiat.</li>
</ol>
<h5>Icons</h5>
<ul class="icons">
<li><a href="#" class="icon brands fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="#" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
<li><a href="#" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
<li><a href="#" class="icon brands fa-github"><span class="label">Github</span></a></li>
</ul>
</div>
</div>
<h5>Actions</h5>
<div class="row">
<div class="col-6 col-12-medium">
<ul class="actions">
<li><a href="#" class="button primary">Default</a></li>
<li><a href="#" class="button">Default</a></li>
</ul>
<ul class="actions small">
<li><a href="#" class="button primary small">Small</a></li>
<li><a href="#" class="button small">Small</a></li>
</ul>
<ul class="actions stacked">
<li><a href="#" class="button primary">Default</a></li>
<li><a href="#" class="button">Default</a></li>
</ul>
<ul class="actions stacked">
<li><a href="#" class="button primary small">Small</a></li>
<li><a href="#" class="button small">Small</a></li>
</ul>
</div>
<div class="col-6 col-12-medium">
<ul class="actions stacked">
<li><a href="#" class="button primary fit">Default</a></li>
<li><a href="#" class="button fit">Default</a></li>
</ul>
<ul class="actions stacked">
<li><a href="#" class="button primary small fit">Small</a></li>
<li><a href="#" class="button small fit">Small</a></li>
</ul>
</div>
</div>
</section>
<section>
<h4>Table</h4>
<h5>Default</h5>
<div class="table-wrapper">
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Item One</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Two</td>
<td>Vis ac commodo adipiscing arcu aliquet.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Three</td>
<td> Morbi faucibus arcu accumsan lorem.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Four</td>
<td>Vitae integer tempus condimentum.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Five</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"></td>
<td>100.00</td>
</tr>
</tfoot>
</table>
</div>
<h5>Alternate</h5>
<div class="table-wrapper">
<table class="alt">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Item One</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Two</td>
<td>Vis ac commodo adipiscing arcu aliquet.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Three</td>
<td> Morbi faucibus arcu accumsan lorem.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Four</td>
<td>Vitae integer tempus condimentum.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Five</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"></td>
<td>100.00</td>
</tr>
</tfoot>
</table>
</div>
</section>
<section>
<h4>Buttons</h4>
<ul class="actions">
<li><a href="#" class="button primary">Primary</a></li>
<li><a href="#" class="button">Default</a></li>
</ul>
<ul class="actions">
<li><a href="#" class="button large">Large</a></li>
<li><a href="#" class="button">Default</a></li>
<li><a href="#" class="button small">Small</a></li>
</ul>
<ul class="actions fit">
<li><a href="#" class="button fit">Fit</a></li>
<li><a href="#" class="button primary fit">Fit</a></li>
<li><a href="#" class="button fit">Fit</a></li>
</ul>
<ul class="actions fit small">
<li><a href="#" class="button primary fit small">Fit + Small</a></li>
<li><a href="#" class="button fit small">Fit + Small</a></li>
<li><a href="#" class="button primary fit small">Fit + Small</a></li>
</ul>
<ul class="actions">
<li><a href="#" class="button primary icon solid fa-download">Icon</a></li>
<li><a href="#" class="button icon solid fa-download">Icon</a></li>
</ul>
<ul class="actions">
<li><span class="button primary disabled">Disabled</span></li>
<li><span class="button disabled">Disabled</span></li>
</ul>
</section>
<section>
<h4>Form</h4>
<form method="post" action="#">
<div class="row gtr-uniform">
<div class="col-6 col-12-xsmall">
<input type="text" name="demo-name" id="demo-name" value="" placeholder="Name" />
</div>
<div class="col-6 col-12-xsmall">
<input type="email" name="demo-email" id="demo-email" value="" placeholder="Email" />
</div>
<div class="col-12">
<select name="demo-category" id="demo-category">
<option value="">- Category -</option>
<option value="1">Manufacturing</option>
<option value="1">Shipping</option>
<option value="1">Administration</option>
<option value="1">Human Resources</option>
</select>
</div>
<div class="col-4 col-12-small">
<input type="radio" id="demo-priority-low" name="demo-priority" checked>
<label for="demo-priority-low">Low</label>
</div>
<div class="col-4 col-12-small">
<input type="radio" id="demo-priority-normal" name="demo-priority">
<label for="demo-priority-normal">Normal</label>
</div>
<div class="col-4 col-12-small">
<input type="radio" id="demo-priority-high" name="demo-priority">
<label for="demo-priority-high">High</label>
</div>
<div class="col-6 col-12-small">
<input type="checkbox" id="demo-copy" name="demo-copy">
<label for="demo-copy">Email me a copy</label>
</div>
<div class="col-6 col-12-small">
<input type="checkbox" id="demo-human" name="demo-human" checked>
<label for="demo-human">Not a robot</label>
</div>
<div class="col-12">
<textarea name="demo-message" id="demo-message" placeholder="Enter your message" rows="6"></textarea>
</div>
<div class="col-12">
<ul class="actions">
<li><input type="submit" value="Send Message" class="primary" /></li>
<li><input type="reset" value="Reset" /></li>
</ul>
</div>
</div>
</form>
</section>
<section>
<h4>Image</h4>
<h5>Fit</h5>
<div class="box alt">
<div class="row gtr-50 gtr-uniform">
<div class="col-12"><span class="image fit"><img src="images/banner.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic01.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic02.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic03.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic03.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic02.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic01.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic02.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic01.jpg" alt="" /></span></div>
<div class="col-4"><span class="image fit"><img src="images/pic03.jpg" alt="" /></span></div>
</div>
</div>
<h5>Left & Right</h5>
<p><span class="image left"><img src="images/pic04.jpg" alt="" /></span>Morbi mattis mi consectetur tortor elementum, varius pellentesque velit convallis. Aenean tincidunt lectus auctor mauris maximus, ac scelerisque ipsum tempor. Duis vulputate ex et ex tincidunt, quis lacinia velit aliquet. Duis non efficitur nisi, id malesuada justo. Maecenas sagittis felis ac sagittis semper. Curabitur purus leo, tempus sed finibus eget, fringilla quis risus. Maecenas et lorem quis sem varius sagittis et a est. Maecenas iaculis iaculis sem. Donec vel dolor at arcu tincidunt bibendum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Fusce ut aliquet justo. Donec id neque ipsum. Integer eget ultricies odio. Nam vel ex a orci fringilla tincidunt. Aliquam eleifend ligula non velit accumsan cursus. Etiam ut gravida sapien. Morbi mattis mi consectetur tortor elementum, varius pellentesque velit convallis. Aenean tincidunt lectus auctor mauris maximus, ac scelerisque ipsum tempor. Duis vulputate ex et ex tincidunt, quis lacinia velit aliquet. Duis non efficitur nisi, id malesuada justo. Maecenas sagittis felis ac sagittis semper. Curabitur purus leo, tempus sed finibus eget, fringilla quis risus. Maecenas et lorem quis sem varius sagittis et a est. Maecenas iaculis iaculis sem. Donec vel dolor at arcu tincidunt bibendum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Fusce ut aliquet justo. Donec id neque ipsum. Integer eget ultricies odio. Nam vel ex a orci fringilla tincidunt. Aliquam eleifend ligula non velit accumsan cursus. Etiam ut gravida sapien.</p>
<p><span class="image right"><img src="images/pic05.jpg" alt="" /></span>Vestibulum ultrices risus velit, sit amet blandit massa auctor sit amet. Sed eu lectus sem. Phasellus in odio at ipsum porttitor mollis id vel diam. Praesent sit amet posuere risus, eu faucibus lectus. Vivamus ex ligula, tempus pulvinar ipsum in, auctor porta quam. Proin nec dui cursus, posuere dui eget interdum. Fusce lectus magna, sagittis at facilisis vitae, pellentesque at etiam. Quisque posuere leo quis sem commodo, vel scelerisque nisi scelerisque. Suspendisse id quam vel tortor tincidunt suscipit. Nullam auctor orci eu dolor consectetur, interdum ullamcorper ante tincidunt. Mauris felis nec felis elementum varius. Nam sapien ante, varius in pulvinar vitae, rhoncus id massa. Donec varius ex in mauris ornare, eget euismod urna egestas. Etiam lacinia tempor ipsum, sodales porttitor justo. Aliquam dolor quam, semper in tortor eu, volutpat efficitur quam. Fusce nec fermentum nisl. Aenean erat diam, tempus aliquet erat. Etiam iaculis nulla ipsum, et pharetra libero rhoncus ut. Phasellus rutrum cursus velit, eget condimentum nunc blandit vel. In at pulvinar lectus. Morbi diam ante, vulputate et imperdiet eget, fermentum non dolor. Ut eleifend sagittis tincidunt. Sed viverra commodo mi, ac rhoncus justo. Duis neque ligula, elementum ut enim vel, posuere finibus justo. Vivamus facilisis maximus nibh quis pulvinar. Quisque hendrerit in ipsum id tellus facilisis fermentum. Proin mauris dui.</p>
</section>
</div>
</section>
</article> -->
<!-- Footer -->
<footer id="footer">
<ul class="icons">
<li><a href="https://twitter.com/TashaMSnow" class="icon brands fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="https://www.instagram.com/tasha.m.snow/" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
<li><a href="https://github/tsnow03" class="icon brands fa-github"><span class="label">GitHub</span></a></li>
<li><a href="mailto: [email protected]" class="icon solid fa-envelope"><span class="label">Email</span></a></li>
</ul>
<ul class="copyright">
<li>© Tasha Snow</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
</ul>
</footer> -->
</div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>