-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathThesis.tex
314 lines (238 loc) · 11.5 KB
/
Thesis.tex
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
\documentclass[a4paper,oneside,12pt]{report}
\usepackage{graphicx,mathptmx}
\usepackage{geometry}
\geometry{
a4paper,
%total={160mm,227mm},
left=40mm,
top=25mm,
bottom=40mm,
right=25mm,
}
\renewcommand{\baselinestretch}{1.5}
\usepackage{setspace}
\usepackage{tabu}
\usepackage[acronym,nopostdot,nonumberlist]{glossaries}
\makeglossaries
\usepackage{import}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{dirtytalk}
\usepackage{tabulary}
\usepackage{multirow}
\usepackage[style=ieee]{biblatex}
\usepackage[titletoc]{appendix}
\usepackage{siunitx}
\usepackage[misc,geometry]{ifsym} % https://tex.stackexchange.com/a/107112/181545, http://tug.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
\usepackage{color,soul}
\usepackage{todonotes}
\newcommand{\db}[1]{\textcolor{blue!40}{#1}}
\newcommand{\dbc}[1]{\todo[author=Dilum, inline, color=blue!40]{#1}}
\newcommand{\gkc}[1]{\todo[author=Gihan, inline, color=green!50]{#1}}
\newcommand{\gc}[1]{\todo[author=Gihan Revisit, inline, color=orange!50]{#1}}
% \usepackage{hyperref} %%% \hl{} on sections will fail this
\usepackage[noabbrev,capitalise]{cleveref}
\addbibresource{mendeley.bib}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{code-style}{
backgroundcolor=\color{backcolour}, commentstyle=\color{codegreen},
basicstyle=\linespread{1.0}\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
framesep=0pt
}
\lstset{style=code-style}
\usepackage{newfloat} % Caption Lists: https://tex.stackexchange.com/a/239114/181545
\DeclareFloatingEnvironment[placement={!ht},name=List]{customlist}
\begin{document}
\begin{titlepage}
\begin{center}
\Large{
\textbf{WEATHER DATA INTEGRATION AND ASSIMILATION SYSTEM}}\\
\vspace{144pt}
\large
%\vspace{1cm}
% by
%\vspace{1.0cm}
Gihan Chanuka Karunarathne\\
\vspace{24pt}
% \normalsize
178004U\\
\vspace{72pt}
%\normalsize
Degree of Master of Science\\
%\centering
%\includegraphics[width=0.4\textwidth]{0.Title_Page/uom.png}\\
%\vspace{0.8cm}
%\normalsize
%\vfill
\vspace{72pt}
\large
Department of Computer Science and Engineering\\
\vspace{24pt}
University of Moratuwa\\
Sri Lanka\\
\vspace{32pt}
January 2021
\end{center}
\end{titlepage}
\begin{titlepage}
\begin{center}
% \vspace*{1cm}
\Large{
\textbf{WEATHER DATA INTEGRATION AND ASSIMILATION SYSTEM}}\\
\vspace{144pt}
\large
Herath Mudiyanselage Gihan Chanuka Karunarathne\\
\vspace{24pt}
% \normalsize
178004U\\
\vspace{72pt}
\normalsize
Thesis submitted in partial fulfillment of the requirements for the degree Master of Science in Computer Science and Engineering\\
%\vfill
\vspace{72pt}
\large
Department of Computer Science and Engineering\\
\vspace{24pt}
University of Moratuwa\\
Sri Lanka\\
\vspace{32pt}
January 2021
\end{center}
\end{titlepage}
\pagenumbering{roman}
\newgeometry{left=4cm,top=0.5cm,right=2.5cm}
\chapter*{Declaration}
\addcontentsline{toc}{chapter}{Declaration}
I declare that this is my own work and this thesis does not
incorporate without acknowledgement any material previously submitted for a
Degree or Diploma in any other University or institute of higher learning and to
the best of my knowledge and belief it does not contain any material previously
published or written by another person except where the acknowledgement is
made in the text.
Also, I hereby grant to University of Moratuwa the non-exclusive right to
reproduce and distribute my thesis/dissertation, in whole or in part in print,
electronic or other medium. I retain the right to use this content in whole or part
in future works (such as articles or books).
\vspace{0.5in}
\noindent
\begin{tabu} to 1.0\textwidth { X[6.5,l] X[3.5,l] }
Signature: & Date:
\end{tabu}
\vspace{0.5in}
\noindent
The above candidate has carried out research for the Masters thesis under our supervision.
\vspace{0.5in}
\noindent
\begin{tabu} to 1.0\textwidth { X[6.5,l] X[3.5,l] }
Name of the supervisor: & Dr. HMN Dilum Bandara\\ [2.5ex]
Signature of the supervisor: & Date:
\end{tabu}
\restoregeometry
\normalsize
\newgeometry{left=2.5cm,top=0.2cm,right=2cm}
\addcontentsline{toc}{chapter}{Abstract}
{\setstretch{1.5}
\chapter*{Abstract}
Numerical Weather Models (NWMs) utilize data collected via diverse sources such as automated weather stations, radars, air balloons, and satellite images. Before using such multimodal data in a \acrshort{nwm}, it is necessary to transcode data into a format ingested by the \acrshort{nwm}. Moreover, the data integration system's response time needs to be relatively low to forecast and monitor time-sensitive weather events like hurricanes, storms, and flash floods that require rapid and frequent execution of \acrshort{nwm}s. The resulting weather data also need to be accessed by many researchers and third-party applications such as logistic and agricultural insurance firms.
Existing weather data integration systems are based on monolithic or client-server architectures; hence, unable to benefit from novel computational models such as cloud computing and containerized applications. Moreover, most of these softwares are proprietary or closed-source, making it difficult to customize them for an island like Sri Lanka with different weather seasons.
Therefore, in this research, we propose \acrfull{wdias} that utilizes microservices to achieve scalability, high availability, and low-cost operation based on cloud computing. The use of stateless microservices also enables \acrshort{wdias} to add new features on the fly with rollover capabilities. Moreover, \acrshort{wdias} provides a modular framework to integrate data from different sources, export into different formats, and add new functionality by adding extension modules.
We demonstrate the utility of \acrshort{wdias} using a cloud-based experimental setup and weather-related synthetic workloads.
\vspace{4mm}
\textbf{Keywords:} Cloud computing, data assimilation, data integration, microservice, weather
}
\restoregeometry
\normalsize
\addcontentsline{toc}{chapter}{Dedication}
\chapter*{Dedication}
I dedicate this thesis work to teachers, lectures, my family and specially colleagues at \acrfull{curw}. A special feeling of gratitude to my loving parents, Nandawathi Dissanayake and H.M.K. Karunarathne whose put countless sweats to support me throughout my entire life. My wife Jayani Kumarasinghe and my son Sasmitha Karunarathne who missed a lots of wonderful moments to give me freedom to work on this research.
Nevertheless I could not forget all of my friends at \acrshort{curw} who have supported and be with me during this period of time. Also, special thanks to Dr. Dilum Bandara and Prof. Srikantha Herath for giving me this wonderful opportunity to explore this new domain.
\addcontentsline{toc}{chapter}{Acknowledgements}
\chapter*{Acknowledgements}
I would like to thank the members of my evaluation committee who were more than generous with their expertise and their precious time. Special thanks to Dr Dilum Bandara, my research supervisor for helping me with his precious time, reading, encouragement and been patient with pushing me to the next level. Also, I am, thankful to Dr. Dilika Peris, and Dr. Indika Perera for serve as my evaluation panel without any hesitation and Dr. Srikantha Herath for giving more knowledge on weather domain and support as my external supervisor.
I would like to thank the Department of Computer Science and Engineering at the University of Moratuwa for allowing me to conduct my research and provide all the assistance requested. Special thanks go to the academic and non-academic staff of the department for their continued support. I also thank the \acrfull{curw} for providing the domain expertise, access to resources, and financial support during the research.
Finally, I would like to thank the lectures, the evaluation panel and the colleagues who helped me with this project. Their enthusiasm and willingness to provide feedback support me to go far beyond my limits and complete my research with an enjoyable experience.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\tableofcontents
\addcontentsline{toc}{chapter}{List of Figures}
\listoffigures
\addcontentsline{toc}{chapter}{List of Tables}
\listoftables
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newglossarystyle{custom-glossary-style}{%
\setglossarystyle{long}%
\renewcommand{\glsgroupskip}{}
\renewenvironment{theglossary}%
{\begin{longtable}[l]{@{}p{\dimexpr 3cm-\tabcolsep}p{0.8\hsize}}}% <-- change the value here
{\end{longtable}}%
}
\addcontentsline{toc}{chapter}{List of Abbreviations}
\printglossary[style=custom-glossary-style, type=\acronymtype, title=List of Abbreviations, toctitle=List of Abbreviations]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Introduction}
\label{ch:intro}
\pagenumbering{arabic}
\import{introduction/}{sec_1-motivation.tex}
\import{introduction/}{sec_2-problem_and_objectives.tex}
\import{introduction/}{sec_3-outline.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Literature Review}
\label{ch:literature}
\import{lit/}{sec_1-fews.tex}
\import{lit/}{sec_2-lead.tex}
\import{lit/}{sec_3-other-systems.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Research Methodology}
\label{ch:method}
\import{method/}{sec_0_introduction.tex}
\import{method/}{sec_1-architectural_decisions.tex}
\import{method/}{sec_3-microservice.tex}
\import{method/}{sec_4-db_struct.tex}
\import{method/}{sec_5-data_preprocess.tex}
\import{method/}{sec_6-query.tex}
\import{method/}{sec_7-summary.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Performance Analysis}
\label{ch:results}
\import{results/}{sec_0-introduction.tex}
\import{results/}{sec_1-test_plan.tex}
\import{results/}{sec_2-workload.tex}
\import{results/}{sec_3-observations.tex}
\import{results/}{sec_4-discussion.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Summary}
\label{ch:summary}
\import{summary/}{sec_1-conclusions.tex}
\import{summary/}{sec_2-research_limitations.tex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\graphicspath{ {./images/} }
\input{glossary.tex}
% \bibliographystyle{plain}
% \addbibresource{mendeley.bib}
\addcontentsline{toc}{chapter}{References}
\renewcommand*{\UrlFont}{\rmfamily}
\printbibliography[title={References}]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{appendices}
\chapter{WDIAS REST API}
\input{Appendix/apx_1_rest_api}
\chapter{WDIAS Query API}
\input{Appendix/apx_2_query_api}
\end{appendices}
% \appendix
% \addcontentsline{toc}{section}{Appendix~\ref{apx:rest_api}: WDIAS REST API}
% \chapter{WDIAS REST API}
% \input{Appendix/apx_1_rest_api}
% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}} % Issue with List of figures
% \chapter{WDIAS Query API}
% \input{Appendix/apx_2_query_api}
\end{document}