Weather Forecasting Application Using Api
Weather Forecasting Application Using Api
Weather Forecasting Application Using Api
BY
ADEYANJU KUDIRAT
DOLAPO FPA/CS/21/3-0032
SUPERVISED BY
DR. AKINTOYE
K.A
A PROJECT SUBMITTED TO
OCTOBER, 2023
1
Downloaded by Chitransh Tyagi (chitranshtyagi007@gmail.com)
ABSTRACT
This project presents the development of a Weather Forecast Application leveraging HTML,
CSS, JavaScript, and a Weather API. The application provides users with real-time and
accurate weather information, including temperature, atmospheric pressure, humidity, wind
speed, and weather descriptions. HTML, CSS, and JavaScript are employed to create an
intuitive and responsive user interface, ensuring accessibility across various devices and
screen sizes. The integration of a Weather API serves as a critical data source, enabling users
to access up-to-the-minute weather forecasts. Robust testing practices, including unit testing
and integration testing, were employed throughout the project to ensure reliability and
functionality. Performance optimization techniques, such as code minification and database
query optimization, were applied to enhance the application's efficiency. This Weather
Forecast Application demonstrates the synergy of technology and meteorology, offering users
a feature-rich platform for weather-related insights and empowering them to make informed
decisions based on accurate and timely data.
INTRODUCTION
Every day, millions of weathers based economic decisions are made in transportation,
agriculture, power, construction, and other sectors of the economy. Weather conditions affect
the entire economy in many ways both directly and indirectly, better weather forests bring
economic opportunities to almost every sector of the economy. Weather forecasts re critical
to the commercial and private transportation sector, including airline, shipping and trucking
industries, nationally and internationally (Andrews, 2018). Airlines, for example rely on short
term forecasts to best position their aircraft and adjust flight routes.
Weather and climate are among the foremost factors which determine how a society
develops in geographical region. Weather usually describes the particular event or condition
for the short period of time such as hours or days whereas climate refers to the behavior of
the atmosphere to a place over many years. On the other hand, weather includes current
atmospheric conditions such as the temperature, precipitation, humidity and the wind while
climate describes the general weather conditions of a certain area over a long period of
time(Andrews, 2018).
Weather data are important in our daily life. The data collected such as rainfall and
disaster such as flood and drought. Besides that, it is important for others to plan the works.
For example, in the construction industry, the weather data is important for a project manager
to plan their schedule so that the project will complete on time. The weather data collected for
a long period are use to predict the climate change in future trends. The weather data
collected for the past decade can be used to analysis in order to identify the pattern of climate
change. Weather station is one of the devices to collect the weather data (Belair and Mailhot,
collected by using this device. The usage of weather station is increasing popularity among
the nation.
Weather station is a device that can update the weather data in a more quickly and
frequent way. It can collect the data in minute or hourly based on the setting mode. The user
can change the setting mode according to the purpose of the project respectively. Weather
station has now been increasingly accepted as the technology that facilities faster and more
up to date monitoring of the earth atmosphere system (Belair and Mailhot, 2021). In
The art of weather forecasting began with early civilizations using reoccurring
astronomical and metrological events to help them monitor seasonal changes in the weather
(MISTIC House, 2008) Around 650 BC the Babylonians tried to predict short term weather
changes based on the appearance of clouds and optical phenomena such as haloes. By
300B.C Chinese astronomers had developed a calendar that divided the year into 24 festivals,
Around 340 B.C the Greek Philosopher Aristotle wrote Metrological, a philosophical
treatise that included theories about the formation of rain, clouds, hail, wind, thunder,
lightning, and hurricanes. In addition, topics such s astronomy, geography and chemistry
were also addressed. Aristotle made some remarkably acute observations concerning the
weather, along with some significant errors (Carpenter, 2021). And his four–volume text was
considered by many to be the authority of weather theory for almost 200 years. Although
many of Aristotle’s claims were erroneous, it was not until about 17th century that many of
Throughout the centuries, attempts have been made to produce forecasts based on
weather lore and personal observations. However, by the end of the Renaissance, it had
and that greater knowledge of the necessary to further our understanding of the atmosphere
The atmosphere, such as moisture, temperature, and pressure. The first known design in
western civilization for a hygrometer an instrument to measure the humidity of air was
described by Droegemeier (2014) in the mid fifteenth century. Galileo Galilsi (1642, Italian)
invented an early thermometer in 1592 or shortly thereafter, and Evangelista Torricelli (1608
– 1647, Italian invented the barometer for measuring atmospheric pressure in 1643.
While these meteorological instruments were being refined during the seventeenth
through nineteenth centuries, other related observational theoretical and the technological
scattered locations began to make and record atmospheric measurements. The invention of
the telegraph and the emergence of telegraph networks in the mid nineteenth century allowed
the routine transmission of weather observations to and from observers and compilers. Using
these data, crude weather maps were drawn and surface wind patterns and storm systems
could be identified and studied (Benjamin, 2019). Weather observing stations began
appearing all across the globe, eventually spawning the birth of synoptic weather forecasting,
based on the compilation and analysis many observations taken simultaneously over a wide
With the formation of regional and global metrological observation networks in the
nineteenth and twentieth centuries, more data were becoming available for observation based
weather forecasting. A great stride in monitoring weather at high at altitudes was made in the
1920s with the invention of the radiosonde. Small light weight boxes equipped with weather
instruments and a radio transmitter, radiosondes are carried high into the atmosphere by a
hydrogen or helium filled balloon that ascends to an altitude of about 30 kilometers before
and pressure data (Called soundings) back to ground station. Three, the data are processed
and made available for constructing weather maps or insertion into computer models for
weather prediction. Today, radiosondes are launched every twelve (12) hours from hundreds
can help in controlling the activity (Droegemeier, 2017). The weather change is not same at
the local area and the nearest place. It is important to monitor and study the pattern of
weather at surrounding. The pattern and trend of weather at local and closed area can be
The current method of weather forecasting in the Aviation industry impeded by the following
problems
local area.
ii. Inability to detect a weather within a concise area because the existing weather
forecasting app focus on major city which sometimes does not guarantee the
iii. There weather forecasting requires high-definition network like 4G which is not even
The aim of this study is to develop a web application for weather forecasting using
Application Programming Interface (API) that will generate weather temperature via
ii. To design aviation flight control based on information given using UML for
from the study area, fact from the respondents shall be gathered and analyze for
further manipulation.
ii. The proposed system design shall be done using HTML and CSS (Cascading
Style Sheet) which will build the aesthetics of the design model and later
formulate big function to the end-users. HTML will be the building block while
iii. Python general purpose programming language shall be adopted for weather
forecast model and weather API shall be integrated from Sky.io for easy update.
The scope of this project will be to design workable easy to use and reliable software
package used to forecast weather conditions for Aviation industry (Sam Mbakwe Airport).
The scope of this project design extends to the following range and deals with the total
i. The data entry section which facilitates easy entry of data obtained from
ii. The data base: the data entered is stored in a data base for record purpose and also for
Chapter One: This captures the background of the study, statement of problem, objectives of
the study, research methodology, scope and limitation of the study, outline of the study and
Chapter Two: Which entails the literature review of the study, highlights the conceptual
review, theoretical framework, and reviews of related literatures evidence on which the study
is based on.
Chapter Three: This deals with the software design and analysis pf both the existing system
and the new system which will entail the diagrammatic representation of the new proposed
system.
Chapter Four: Deals with system implementation and performance evaluation of the new
developed system which consist of the presentation of result and the screenshot of the new
system.
Chapter Five: This is the last part which comprises of conclusion, and recommendations
data as the main input for determining the course of future trends.
API: An application programming interface is a way for two or more computer programs to
communicate with each other. It is a type of software interface, offering a service to other
10
LITERATURE REVIEW
Weather and climate have great impacts on the lives of people and the societies in
which they live. Weather Influences people in the short run; whereas, climate influences
them in the long run. Climate and weather may limit or complicate the performance of a
variety of tasks people may wish to complete. An understanding of weather and climate may
help people comprehend the choices that societies have made in different places on the earth
(Andrews, 2016).
winds. Weather is a very temporary condition. Put quite simply, weather is what hits you in
Climate is the average yearly pattern of weather conditions. The key word in the
and amounts and annual temperature patterns of highs and lows. Climate cannot be
experienced by walking outside. To experience climate, one must live in a location for more
than a year. Every locality has experienced many years when the pattern of weather
conditions was not the same as the average pattern. In fact, it might be surprising to find that
a particular location has never had a year that fit the average pattern for that location. People
who have lived in a location for twenty or more years have a good idea of what the average
conditions are for their location. They can tell if a particular year seems to be considerably
different from the average; whereas, a newcomer to that location during the extremely
unusual year might erroneously assume that it is a typical year. In the winter of El Niño
11
many other places. For the winter of 1998-99, meteorologists predicted a La Niña year which
would cause Southern California and the other places that were extremely wet the year before
b. ocean currents
c. mountain barriers
d. latitude
e. altitude
f. land and water distribution [how close to or far from a large body of water]
g. storms.
It will be difficult to study one of these factors without referring to one or more of the
other factors since they often operate in combination. Each place on earth is influenced by a
unique matrix of these factors at any one time. It is possible that one factor might influence a
place to one climatic extreme and that another factor might influence it toward the opposite
condition. The result may be a moderated condition between the two extremes. An example
Their latitude would incline them toward very cold temperatures, particularly in the
winter. These are islands in a very large body of water, there is a large, warm ocean current
which flows to the west of the islands, and the prevailing winds are from the west. These
winds are warmed by the warm ocean current and bring warmer than would be expected
temperatures to these islands which are located at fairly high latitudes. The combination of
water, ocean current, and winds counteracts the influence of latitude. That explains why the
12
milder there than they were in England. They didn’t know that the matrix of climatic factors
which produce the weather and climate of that location cause much colder winters than they
Winds influence climate by being the vehicle which beings moist or dry air to an area.
Winds may bring either warmer or cooler temperatures, depending on the direction from
which the wind blows. What is wind, and what causes it? Winds result partly from the fact
that some parts of the world become hotter than others. Hotter areas are called low pressure
areas because as air is heated, it expands and, therefore, becomes lighter and rises. As air
loses heat [cools], it contracts or shrinks and becomes heavier (it contains more gas
molecules per unit of volume than warmer air) and, therefore, it moves downward in the
atmosphere. Wind, then, is defined as the horizontal movement of air at the earth’s surface
from areas of high pressure to areas of low pressure where the air is rising ( Droegemeier,
2017).
A generalized system of wind belts tries to establish itself on the earth. The
distribution of land and water on the earth, and the resulting variances in temperatures and
pressures somewhat disrupts the idealized system of wind belts. Because the sun’s energy is
received in its most concentrated form near the equator, the sun generated a tremendous low-
pressure belt in the tropics. This low-pressure belt triggers a system of winds around the
world. The system moves north and south through the year because the earth’s axis is tilted
23½ degrees from the perpendicular. This will be illustrated later when earth-sun relations
13
are not evenly distributed all over the surface of the earth, the high- and low-pressure areas
do not exist in neat belts. Land heats and cools faster and to a greater extent than water;
therefore, in winter the land becomes cooler (high pressure) than the adjacent water (low
pressure) and the winds move from the land to the water. In the summer, the land becomes
relatively hotter than the nearby water, the low pressure occurs over the land, the high
pressure occurs over the water, and the winds tend to move from the water to the land. The
differential heating and cooling of land and water accounts for the non-idealized pattern of
Where the seasonal shifting of the prevailing wind direction occurs, the land receives
more precipitation in the season when the wind blows from the water to the land. Seasonal
reversals in wind direction such as this are referred to by the term monsoon. Monsoon is
derived from an Arabic word which means a change in the wind. Often reference is made to
the wet monsoon and the dry monsoon since in one season there is more precipitation and in
In the summer, moisture bearing winds from the cooler Arabian Sea and Bay of
Bengal being rains to the land. Parts of India may receive from 50 to 100 inches of rain in
one month. In the Winter, the land has cooled faster and to a lower temperature than the sea,
so the high pressure usually forms over the land and the dry winds from the interior move to
the sea. There is little rain in India during these months, hence the term dry monsoon
(Droegemeier, 2016).
Since water is a liquid, it can move when disturbed. The rotation of the earth on its
axis causes the waters of the earth, particularly the oceans, to move. This movement forms a
circulating system. The terms warm current and cold current are relative terms. Some of the
14
the adjacent waters. The cold currents, particularly those in the tropical and middle latitudes,
result from water welling up from the depths of the ocean (Evans, 2001).
Winds blowing across warm currents onto the land are warmed and are able to absorb
water vapor [warm air can hold more water vapor than cold air]. These warmed winds warm
the lands onto which they blow and bring a good chance of precipitation falling on these
lands. Winds blowing across cool ocean currents, cause the climate of the land to be cooler
and reduce the chance of precipitation. Deserts are often found inland from coastlines along
which cold ocean currents flow, e.g., the Namib Desert, Baja California, and the Atacama
Desert.
C. Mountain
Mountain barriers affect climate by forcing moisture-bearing winds to rise and release
precipitation on the windward side of the mountain [the side the wind actually strikes – the
side where the wind ascends]. The leeward side of mountain barriers usually has an arid
climate. The descending air on the leeward side is being compressed and, therefore, is
becoming warmer. [The discussion of the influence of altitude will also show how altitude is
related to air temperature.] This condition of the air becoming warmer causes the air to be
more receptive to absorbing moisture rather than releasing it as precipitation the likelihood of
precipitation is increased when air is cooled, not when it is warmed (Evans, 2001).
D. Latitude
Latitude acts as a climatic control because the vertical rays of the sun, which are the
most intense and most heat producing, strike only in the tropics. North and south of the
tropical zone, less intense insolation, energy received from the sun, is received per unit of
earth surface. This causes temperatures to be cooler and more seasonal as one approaches the
poles from the tropics. Another way of saying this is that in the latitudes near the poles, the
15
the equator.
E. Storms
Storms are sometimes listed as a climatic control factor. There are certain types of storms
which are typically encountered in certain parts of the world rather than in other places. The
types of storms common to an area are part of that area’s climatic pattern – making a
significant contribution to the precipitation amounts and annual pattern. An example is the
rainfall statistics in Florida. The frequent hurricanes that pass over or near Florida certainly
increase the annual precipitation total and account for the months of the “hurricane season”
having larger totals than the other months. If the southeastern part of the United States were
not subject to hurricanes, the precipitation statistics would be significantly different there.
location. Minimizes an upper bound on the generalization error and training error is not
considered. So it performs better than conventional techniques which may suffer from
possible over fitting. SVM performs better than MLP trained with back propagation
algorithm for all orders. SVM has a significant effect on the performance of the model.
Through proper selection of the parameters, Support Vector Machines can replace
some of the neural network based models for weather prediction applications
(Black, 2014).
different types of training algorithms. The algorithm used is Back propagation Algorithm.
16
3. Has potential to capture the complex relationships between many factors that
It approximates large class of functions and nonlinear parameter with better accuracy
Time Series Analysis captures the data groups and data variables in the specified
time. Experimental results obtained using the proposed network and generalization
actual and predicted temperature values. The results show that the network can be an
Analyses the fuzzy weather forecasts, which are computed in the system and used
pollution concentrations, putting the dependence between particular attributes, describing the
weather forecast in order and proving the applicable fuzzy numbers in air pollution
kit, is used for transferring the data using wireless medium. Components or sensors like wind
sensor, rain sensor, thermo-hydro sensor is used. These sensors are used for recording the
parameters like wind, rainfall, temperature and humidity respectively. The recorded
parameters are shown on wireless display and also on the PC. It will classify, compare and
predict the change on other parameters of weather by changing any one parameter which was
17
predict weather. A 3-layered neural network is designed and trained with the existing dataset
and obtained a relationship between the existing nonlinear parameters of weather. The trained
neural network can predict the future temperature with less error is examined clearly.
The applicability of fuzzy logic modelling techniques for forecasting water supply
was investigated. Fuzzy logic is applied successfully that has the relationship between cause
and effects are vague. Fuzzy variables were used to organize knowledge that is expressed
‘linguistically’ into a formal analysis. Water supply forecast was created that classified
potential runoff into three forecast zones: ‘low’, ‘average’ and ‘high’. Fuzzy logic has a
A fuzzy k-nn weather prediction system can improve the technique of persistence
climatology using direct, efficient, expert-like comparison of past and present weather cases.
Persistent climatology is an analog forecasting technique for recognizing for short range
weather prediction. The proposed fuzzy k-nn system compares past and present cases directly
and it uses only a specific limited set of predictors. This helps to make airport weather
predictions more accurate, which will make air travel safer and make airlines more profitable.
The diagnostic meteorology provides a basis for understanding the gap between
forecasters and researchers. It should give some foundation for diagnostic meteorology and it
18
weather prediction. This primary method continued to be in use until the late 1950s.
Synoptic" means that the observation of different weather elements refers to a specific
every day. Such synoptic charts form the very basis of weather forecasts. As stated earlier,
the task of preparing synoptic charts on a regular basis involves huge collection
and analysis of observational data obtained from thousands of weather stations. From
the careful study of weather charts over many years, certain empirical rules were
formulated. These rules helped the forecaster in estimating the rate and direction
temperature, pressure, wind, and rainfall. A forecaster examines how the features
predicted by the computer will interact to produce the day's weather. The NWP method is
flawed in that the equations used by the models to simulate the atmosphere are not
precise. If the initial state is not completely known, the computer's prediction of
how that initial state will evolve will not be entirely accurate (Belair, 2001).
3) Statistical methods:
19
numerical method. Statistical methods use the past records of weather data on the
The main purpose of studying the past weather data is to find out those aspects of
the weather that are good indicators of the future events. After establishing these
relationships, correct data can be safely used to predict the future conditions. Only
overall weather can be predicted in this way. It is particularly of use in projecting only
one aspect of the weather at a time. At macro level, weather forecasting is usually done
using the data gathered by remote sensing satellites. Weather parameters like
streams and their directions, are projected using images taken by these meteorological
satellites to assess future trends. The satellite-based systems are inherently costlier and
require complete support system. Moreover, such systems are capable of providing only
such information, which is usually generalized over a larger geographical area. The
minimum),relative humidity, rainfall etc., vary continuously with time, forming time series of
each parameter and can be used to develop a forecasting model either statistically or
using some other means like artificial neural networks. As the climate dataset is highly
non-linear so Artificial Neural Network (ANN) can be used for weather forecasting.
including Weather Forecasting. They are found to be more powerful than any
traditional expert system. Artificial Neural Network (ANN) came into existence in
handle the complex non-linearity problems better than the conventional techniques.
ANN has matured to a great extent over few years. The main aim and objective of
20
neural network model to estimate the maximum surface temperature and relative humidity
needed for the genesis of severe thunderstorms over Calcutta. Prediction error is computed
and compared for single layer network and one hidden layer artificial neural network. Result
reveals the efficiency of the one hidden layer ANN. The performance of the model is found to
be good and showed that the neural network technique is of great use in forecasting the
occurrence of high frequency small-scale weather systems. The forecasting from single-layer-
neural net is compared with the forecasting from the second order autoregressive process. It
is found that forecasting yield is better in case of single-layerneural net than in it. From this,
it can be concluded that one hidden-layer neural network is an efficient forecasting tool by
which an estimation of maximum surface temperature and maximum relative humidity can be
obtained. This estimation can help in predicting a probable thunderstorm day with one day or
24 hrs in advance.
Another researcher F. Mekanik and M. A. Imteaz (2017) found that Australian rainfall
is also affected by these key modes of complex climate variables. On the other hand, few
attempts have been made to establish the combined effect of these indices on rainfall in order
atmospheric phenomenon, linear techniques might not be sufficient enough to capture its
characteristics. This research attempts to find a nonlinear relationship between the Victorian
rainfall and the lagged-indices affecting the region using Artificial Neural Networks (ANN).
It was discovered that ANN modeling is able to provide higher correlations using the lagged
indices to forecast spring rainfall in compared to linear methods. Using these indices in an
21
Orbost in Victoria, Australia respectively. Luk, Ball and Sharma (2015) described that
due to the complexity of the atmospheric processes by which rainfall is generated and the
lack of available data on the necessary temporal and spatial scales, it is not feasible generally
to forecast rainfall using a physically based process model. They presented the results of a
study investigating the application of ANN to forecast the spatial distribution of rainfall for
an urban catchment.
Three types of ANNs suitable for this task were identified, developed, and compared; these
networks were
All the above alternative networks could make reasonable forecast of rainfall one time step
(15 minutes) ahead for 16 gauges concurrently. In addition, the following points were
observed. (a)For each type of network, there existed an optimal complexity, which was a
function of the number of hidden nodes and the lag of the network. (b)All three networks had
comparable performance when they were developed and trained to reach their optimal
complexities. (c)Networks with lower lag tended to outperform the ones with higher lag. This
indicates that the 15 min. rainfall time series have very short term memory characteristics.
different neural network architectures namely Electronic Neural Network (ENN) model and
optoelectronic neural network model. They experimented using these two models and the
percentage of correctness of the rainfall estimation of the neural network models and the
meteorological experts are compared. The results of the ENN are compared with the results
22
results, obtained using ENN and opto-electronic neural network models, is compared with
two metrological experts. The performance of optoelectronic neural network, which is better
Hayati and Mohebi (2015) shows that how ANN can be used for Forecasting Weather
for the city of Iran. They utilizes ANN for one day ahead prediction of weather parameter i.e.
temperature of city of Iran. Their study was based on most common neural network model
Multilayer Perceptron (MLP) which is trained and tested using ten years past metrological
data. In order to improve the accuracy of prediction, they split data into four season’s i.e.
spring, summer, fall and winter and then for each season one network is presented. They
showed that MLP network with this structure has minimum error between exact and
predicted values at each day and has a good performance, reasonable prediction accuracy and
minimum prediction error in general. The forecasting reliability was evaluated by computing
the mean absolute error between the exact and predicted values. The result shows that this
Kaur and Singh (2017) in his work uses Multi-Layer Perceptron (MLP) to model
forecasting system and used Back Propagation algorithm to train the network. The network is
trained and tested with actual data of the past ten years which comes from meteorological
department. The results show that minimum temperature can be predicted with reasonable
accuracy by using the Artificial Neural Network. Thus from this work they concluded that a
minimum temperature. The results show that an appropriate accuracy can be achieved using
this network. Further, this approach is also able to determine the values of other parameters
like maximum relative humidity, minimum relative humidity, maximum temperature etc in a
particular year.
23
The earliest programming languages preceded the invention of the digital computer
and were used to direct the behavior of machines such as Jacquard looms and player pianos.
Thousands of different programming languages have been created, mainly in the computer
field, and many more still are being created every year. Many programming languages
perform), while other languages utilize other forms of program specification such as the
declarative form (i.e. the desired result is specified, not how to achieve it).
Hyper Text Markup Language (HTML) is the main markup language for displaying
web pages and other information that can be displayed in a web browser. The purpose of a
web browser is to read HTML documents and compose them into visible or audible web
pages. The browser does not display the HTML tags, but uses the tags to interpret the content
of the page.
HTML elements form the building blocks of all websites. HTML allows images and
objects to be embedded and can be used to create interactive forms. It provides a means to
create structured documents by denoting structural semantics for text such as headings,
paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as
JavaScript which affect the behavior of HTML web pages. Web browsers can also refer to
Cascading Style Sheets (CSS) to define the appearance and layout of text and other material.
24
2.10.1.2 JavaScript
implemented as part of a web browser in order to create enhanced user interfaces and
typed and has first-class functions. It uses syntax influenced by the language C. JavaScript
copies many names and naming conventions from Java, but the two languages are otherwise
unrelated and have very different semantics. The key design principles within JavaScript are
taken from the Self and Scheme programming languages. It is a multi-paradigm language,
JavaScript's use in applications outside web pages for example in PDF documents,
site specific browsers, and desktop widgets is also significant. Newer and faster JavaScript
VMs and frameworks built upon them (notably Node.js) have also increased the popularity of
used in the form of client-side JavaScript (as part of a web browser). This enables
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation semantics (the look and formatting) of a document written in a markup language.
It’s most common application is to style web pages written in HTML and XHTML, but the
language can also be applied to any kind of XML document, including plain XML, SVG and
XUL.
25
HTML or a similar markup language) from document presentation, including elements such
as the layout, colors, and fonts. This separation can improve content accessibility, provide
multiple pages to share formatting, and reduce complexity and repetition in the structural
content (such as by allowing for table-less web design). CSS can also allow the same markup
page to be presented in different styles for different rendering methods, such as on-screen, in
print, by voice (when read out by a speech-based browser or screen reader) and on Braille-
based, tactile devices. It can also be used to allow the web page to display differently
depending on the screen size or device on which it is being viewed. While the author of a
document typically links that document to a CSS style sheet, readers can use a different style
sheet, perhaps one on their own computer, to override the one the author has specified.
CSS specifies a priority scheme to determine which style rules apply if more than one
rule matches against a particular element. In this so-called cascade, priorities or weights are
The CSS specifications are maintained by the World Wide Web Consortium (W3C).
programmers for software development. An IDE normally consists of a source code editor,
build automation tools and a debugger. Most modern IDEs offer Intelligent code completion
feature.
Some IDEs contain a compiler, interpreter, or both, such as Net Beans and Eclipse; others do
not, such as SharpDevelop and Lazarus. The boundary between an integrated development
environment and other parts of the broader software development environment is not
26
the construction of a Graphical User Interface (GUI). Many modern IDEs also have a class
browser, an object browser, and a class hierarchy diagram, for use in object-oriented software
development.
Sublime Text is a cross-platform text and source code editor, with a Python
functionality is extendable with plugins. Most of the extending packages have free-software
licenses and are community-built and maintained. Sublime Text lacks graphical setting
27
component parts for the purpose of studying how well the component parts work and interact
to accomplish their purpose. It describes what a system should do to meet the information
needs of users.
System analysis is the process of investigating and documenting the existing system;
identifying problems of the existing system; analyzing the proposed system for its costs and
benefits; analyzing both the system and user requirements and considering possible
alternative solutions. It is an in-depth study of end user information needs that produce
functional requirements that are used as the basis for the design of a new information system.
The existing of Aviation Spp Weather Forecasting App is very slow due to high data
consumption and sometimes lead to server error (error 404). The currency converter
application always uses default currency market from 4 different countries in the world to
generate an accurate time series equivalent which are USA, CANADA, UK, CHINA.
The objective is to develop and implement a weather forecasting application that will serves
After in-depth analysis, we decided to adopt the waterfall software development process
model. This model proposes an orderly method to software development which starts with a
28
Planning(estimating, scheduling)
a) The working version of the program(s) will not be available until late in the project
time-span, thus an undetected error until the working program is reviewed is dangerous.
c) Therefore, this model is only appropriate when the requirements are well-understood.
On the other hand, the advantages of using this model are that;
29
The system will be using PHP for development. Daily data sets of last 5years (2017-2022) of
Madhya Pradesh, Bhopal. The system takes input from the datasets and produces the result
for both optimal weights and biases. The system building process consists of following
sequential steps.
The analysis of the proposed weather forecast application delves into a thorough
evaluation of the system's components and design choices, aiming to ascertain its
effectiveness in providing users with reliable weather information. An integral aspect of this
analysis involves a meticulous examination of the user interface, which has been carefully
principles, the interface aims to seamlessly connect users with weather data while
maintaining visual clarity and ease of use. Usability testing and user feedback have been
30
The integration of the chosen weather API constitutes a critical element of the proposed
encountered during this integration phase, such as working within API rate limits, have been
addressed through careful API request management. By effectively leveraging the API's
features, the application ensures the delivery of precise and up-to-date weather data to users.
This integration, while demanding, serves as the backbone of the application's ability to
In the realm of data retrieval and processing, the methods employed to obtain weather
data from the API are examined in detail. The system relies on efficient API calls to retrieve
data, which is then processed and structured for effective presentation. This analysis
guarantees that users are equipped with timely forecasts and relevant weather insights.
Beyond its technical components, the application's functionality and features undergo
time weather forecasts that users can rely upon. The analysis delves into the accuracy and
dependability of the forecast data presented across various timeframes, encompassing current,
hourly, and daily forecasts. The application's capability to seamlessly switch between these
modes ensures users are equipped with tailored information to suit their needs.
performance. This involves assessing the application's responsiveness, load times, and overall
efficiency. Through a series of performance tests under varying user loads and usage
31
measured. Metrics including response times and resource utilization offer insights into the
Security and privacy considerations are not overlooked in the analysis. Addressing
concerns related to user data and API usage, the system prioritizes user information security
and data confidentiality. Through measures such as secure API communication and
appropriate data handling practices, the application safeguards user trust and privacy.
Looking ahead, the analysis considers the application's potential for scalability and future
increased load while maintaining optimal performance. Proposed enhancements and features
offer insights into how the application can evolve to meet evolving user needs, ensuring its
In conclusion, the analysis of the proposed system underscores the value and
significance of the developed weather forecast application. By examining its user interface,
API integration, data processing mechanisms, functionality, performance, impact, and future
prospects, this section provides a holistic view of the application's contributions to weather
User requirements identify the services the application ought to provide for the users of the
system. System requirements provides the detailed description of the system services. The
i. Accurate Weather Data: Users expect the application to provide precise and current
ii. Simple Interface: The application should feature an easy-to-use and intuitive
32
iv. Location Detection: The application should automatically detect the user's location
vi. Offline Access: The application should allow users to access previously fetched
This is a comprehensive description of the intended purpose and environment for software
under development.
ii. Processor and Memory: The application should run smoothly on devices with
iv. Location Services: The application should have access to the device's location
v. Web API Interaction: The device should have the capability to interact with web
vi. Security Measures: The application should adhere to security standards to ensure the
vii. Accessibility Features: The application should support basic accessibility features,
33
Logical design: This is concerned with object-oriented modelling of the system analysis.
Physical design: This is concerned with the construction of the real system.
In the object-oriented analysis and design, Unified Modelling Language will be used to
model the system. A model is the act of drawing one or more graphical representations of a
system. Modelling is the process of abstracting and organizing significant features of part of
A use case diagram is used to show the functionality provided by a system in terms of actors,
their goals -represented as use cases, and any dependencies between them. It depicts every
functionality that an end user can do on the system to be developed. In other words, it
represents every case of use or action. It does not have to show any particular sequence or
strict dependence
34
Login
Generate
Location
System Function
Request New
Type
Exit App
The figure 3.3 above illustrates the behavioral of the user-to-system interaction, where user
click on the location to get weather information from, the system processes the input data
collected from the user of the system and dish out the information based on the input.
35
UI Forecast
Data Source API Weather
Forms
DB file Main
System
Data Storage
DB file
Figure 3.4: Data Flow
The above data flow diagram describes the relationship between the flow of
information from the user interface stage to the last stage of interfaces which is data storage
link. The user search for currency to be converted and select appropriate currency with value
Input design specified the manner in which input enters the system for processing. It
ensures the reliability of the system and production of result to erroneous information; it
determines whether the user of the system interacts with the system efficiently. Input are
linked to database for storing the data. The forms are designed with an attribute of the form,
combo box, for a drop down list, text linked to database for viewing, commend button are
function to be carried out to perform a task such as add, read, delete, update.
36
(HTML) as stated in the previous chapter and there are additional forms and some static page
i. Index Page: This is the home page of the software; it serves as a gate man that gives
authorized user access to the private resources of the system and denied access to
unauthorized person. Homepage is design to have some text and image link that allow the
The output design that can be generated from the system, this depend on the type of
information needed to be extracted from the record gathered such as report on the amounts to
be converted with absolute accuracy. The output is designed in such a way that user receives
understandable information that is used for decision making. The user must be able to easy
find the output, move forward and backward and exit the report and the timing of computer
i. The economy may be unable to respond to shocks - a fixed currency rate means that
payments crises.
ii. Problems with reserves - fixed currency rate systems require large reserves and there
iii. Connectivity issues: it poses problem for majority of the user to use system due to
37
Interface (API) always specify their policy agreement which sometimes lead to
i. The new system gives less policy conflict and issue due to subsequent user comment.
ii. Low data generation when connected to internet in output the processing information
to the user.
iii. Reduced server errors and increase User Interface/User Experience (UI/UX).
The proposed shall be beneficial to the user of the system through the usage of this
iii. It does not require much internet data before loading an API for weather.
The below are the limitation encounter in the proposed model developed.
h. The proposed system shall not cover all the City in the world due to its complexity
i. Unable to store the previous currency history due to vast number of files incorporated
38
The development environment setup is a crucial phase in the creation of the weather
forecast application. This section outlines the hardware and software requirements, as well as
To ensure the smooth development and operation of the weather forecast application, certain
iii. Storage Capacity: Adequate storage space was required to store project files,
Software Requirements
To create the weather forecast application, a set of software components and tools were
essential:
i. Web Browsers: Modern web browsers, such as Google Chrome, Mozilla Firefox,
and Microsoft Edge, were chosen for compatibility testing and debugging.
ii. Text Editor: Visual Studio Code, a versatile and widely-used text editor, was
employed for coding the HTML, CSS, and JavaScript components of the application.
iii. Version Control System: Git was used for version control to manage code changes
39
environment.
Front-end development was centred around creating an engaging and user-friendly interface
for the weather forecast application. The following tools and technologies were utilized:
i. HTML (HyperText Markup Language): HTML5 was used to structure the content
ii. CSS (Cascading Style Sheets): CSS3 was employed for styling and layout design,
iii. JavaScript: JavaScript was used to add interactivity to the application, allowing users
to search for locations, view weather data, and customize their experience.
iv. Responsive Design: Media queries were utilized to implement a responsive design
that adapts to various screen sizes, ensuring a seamless user experience on both
Back-End Tools
The back-end of the weather forecast application was responsible for handling requests,
managing data, and facilitating communication with external APIs. The following tools and
Express.js: Express.js, a minimal and flexible Node.js web application framework, was
To interact with the Weather API and retrieve up-to-date weather data, the following tools
40
ii. JavaScript Fetch API: The JavaScript Fetch API was employed to make
asynchronous HTTP requests to the Weather API, enabling real-time data updates.
iii. API Key Handling: API keys were securely managed using environment variables to
engaging and user-friendly user interface (UI) that allows users to interact with the weather
data effectively. This section delves into the implementation of the UI design, layout,
The central focus is on the temperature display, presented prominently, alongside atmospheric
pressure information, ensuring users have immediate access to key weather data. Below, tab
41
different weather parameters effortlessly, with the selected tab highlighted. A "Forecast"
button guides users to detailed weather predictions, enhancing the application's functionality
Figure 4.2 illustrates the "Forecast by City" feature, a user-friendly input interface within the
application. It enables users to enter the name of a city into an input box, initiating a query for
weather data. As users input the city name, the system dynamically displays the
corresponding weather information for that specific location. This intuitive design simplifies
the process of obtaining weather forecasts for desired cities, enhancing user accessibility to
42
information about the current weather conditions. The displayed data includes the following
1011 hPa, Humidity - indicated at 99%, Min Temperature - maintaining at 21.72 °C, Max
Temperature - also at 21.72 °C, Wind Speed - measured at 0.8 m/s, and Wind Direction -
specified as 274°. This output design ensures users receive a detailed and clear overview of
the current weather status, enhancing the usability of the weather forecast application
43
Figure 4.4 presents a visual representation of the weather history for the past five days in
Ado-Ekiti. This informative display provides users with a clear and concise summary of the
recent weather conditions, allowing them to track trends and changes over time. The figure
showcases temperature variations, precipitation levels, and other relevant meteorological data
for each of the five days, offering valuable insights into the region's recent weather patterns.
This feature enhances the user's ability to plan and make informed decisions based on
During the development phase, rigorous unit testing was conducted to ensure the
reliability and functionality of individual modules within the weather forecast application.
Each module, including user authentication, data retrieval from the Weather API, and user
interface components, was tested in isolation. Unit tests were designed to verify that each
module performed as expected and handled various inputs and scenarios appropriately. Test
cases were meticulously crafted to cover edge cases, user interactions, and error handling.
44
Integration testing was a critical phase to validate the interactions and compatibility of
different parts of the weather forecast application. This testing ensured that various
components, such as the front-end and back-end, communicated seamlessly and that data
flowed correctly between them. Integration tests were conducted to assess the correctness of
data retrieval from the Weather API, data storage in the database, and the rendering of
dynamic content on the user interface. Realistic scenarios, including concurrent user
interactions and simultaneous API requests, were simulated to identify and resolve potential
Throughout the testing phases, a robust bug tracking and resolution system was in
place to manage and prioritize identified issues. A dedicated bug tracking tool, such as Jira or
Trello, was utilized to document and categorize bugs. Issues were assigned to team members
responsible for resolution, with clear priorities and deadlines. Regular bug triage meetings
were conducted to review and prioritize bug fixes based on their impact on the user
experience. Additionally, comprehensive regression testing was performed after bug fixes to
Performance optimization was a key focus to ensure that the weather forecast
application provided a fast and responsive user experience. Profiling tools and performance
improvement. Profiling tools such as Chrome DevTools' Performance tab were used to
45
memory usage. Through thorough analysis, specific areas requiring optimization were
identified, such as image compression, code minification, and database query optimization.
To enhance the overall performance of the application, code optimization techniques were
i. Code Minification: JavaScript and CSS files were minified to reduce file sizes,
ii. Image Compression: Images used within the application were compressed to reduce
iii. Lazy Loading: Lazy loading techniques were implemented to defer the loading of
46
5.1 Conclusion
The development of the Weather Forecast Application using HTML, CSS, JavaScript,
and a Weather API has been a substantial undertaking, resulting in a robust and user-friendly
platform for accessing up-to-date weather information. This project's success can be
attributed to the thoughtful selection of tools and technologies, meticulous design, rigorous
HTML, CSS, and JavaScript formed the core of the application's front-end, allowing
for the creation of a visually engaging and responsive user interface. These technologies
enabled the presentation of weather data in an intuitive and user-friendly manner, enhancing
the overall user experience. Additionally, the use of media queries and responsive design
principles ensured that the application remained accessible and functional across various
The integration of the Weather API played a pivotal role in providing accurate and
real-time weather data to our users. The API served as the backbone for delivering up-to-the-
minute information on temperature, atmospheric pressure, humidity, wind speed, and weather
descriptions. The selection of the API was a critical decision, as it directly impacted the
reliability of our forecasts. Proper API key management and asynchronous programming
techniques in JavaScript ensured that data retrieval from the API was secure, efficient, and
timely.
During the development process, rigorous unit testing and comprehensive integration
testing were conducted. These testing phases helped identify and rectify issues early in the
47
Furthermore, a robust bug tracking system was employed to capture and prioritize
issues, with regular bug triage meetings helping to manage and address bugs effectively. This
approach ensured that the application maintained a high level of quality and that user-
Performance optimization was a central theme throughout the project. Profiling tools
like Chrome DevTools aided in identifying bottlenecks and areas in need of improvement.
Techniques such as code minification, image compression, and lazy loading were applied to
enhance page load times and reduce resource consumption. Database query optimization,
involving indexing, query refinement, and connection pooling, significantly improved the
technology and meteorology, providing users with a reliable and user-friendly platform to
access weather data. The project's utilization of HTML, CSS, JavaScript, and a Weather API,
coupled with a robust testing and performance optimization strategy, has resulted in a feature-
rich application that empowers users with accurate and timely weather information. The
journey from concept to implementation has been a testament to the capabilities of modern
web development tools and methodologies, ensuring the application's utility and resilience in
application to maintain its accuracy and responsiveness. Future enhancements may include
additional features, improved data visualization, and user customization options, all aimed at
further enriching the user experience. The Weather Forecast Application serves as a testament
48
potential for technology to provide valuable insights into our ever-changing environment.
5.2 Recommendations
assurance mechanisms. Regularly validate the data retrieved from the Weather API to
checks for data integrity, API reliability, and adherence to industry standards for
meteorological data.
understand their evolving needs. Consider adding features such as weather alerts,
addressing usability issues will foster user satisfaction and long-term engagement.
features. This will allow users from different regions to access the application in their
preferred languages and units of measurement (e.g., Celsius vs. Fahrenheit, km/h vs.
mph). Adapting the application to different cultural and linguistic contexts can
49
standards (e.g., WCAG) to make it inclusive for users with disabilities. Implement
accessible design practices, provide alternative text for images, and ensure keyboard
Incorporating these recommendations into your maintenance and development plan will help
ensure that the Weather Forecast Application continues to meet the evolving needs of its
users, maintains data accuracy, and remains accessible to a broad audience. By prioritizing
user satisfaction, data integrity, and technological advancements, the application can continue
environment.
50
Andrews, J.W. (2018). Impact of weather event uncertainty upon an optimum ground-holding
strategy. Air-Traffic Control Quarterly 1(1): 5984.
Belair, S., and J.Mailhot.(2021). Impact of horizontal resolution on the numerical simulation
of a midlatitude squall line: Implicit versus explicit condensation. Mon. Weather
Rev. 129:2362–2376.
Benjamin, S.G., (2019). The operational RUC-2. Preprints, 16th Conference on Weather
Analysis and Forecasting, Phoenix, AZ, American Meteorological Society, pp. 249–
252.
Black, T.L. (2020). The new NMC mesoscale Eta model: Description and forecast examples.
Weather Forecast 9:265–278.
Carpenter, R.L., (2021). Storm-scale numerical weather prediction for commercial and
military aviation, Part 1: Results from operational tests in 1998. Preprints, 8th
Conference on Aviation, Range, and Aerospace Meteorology, January 10–15,
American Meteorological Society, Dallas, TX, pp. 209–211.
Evans, J.(2020). Tactical Weather Decision Support to Complement “Strategic” Traffic Flow
Management for Convective Weather. Fourth International Air Traffic Management
R&D Seminar ATM-2001, Santa Fe, NM. Available online at
http://atm2001.eurocontrol.fr/ [accessed December 11, 2002].
Forman, B.E., M.M.Wolfson, R.G.Hallowell, and M.P.Moore. 1999. Aviation user needs for
convective weather forecasts. Preprints, Eighth Conference on Aviation, Range, and
Aerospace Meteorology, Dallas, TX, American Meteorological Society, pp. 526–
530.
IPCC (International Panel on Climate Change). 1999. IPCC Special Report: Aviation and the
Global Atmosphere. J.E.Penner, D.H.Lister, D.J. Griggs, D.J.Dokken, and
M.McFarland, eds. Cambridge University Press, Cambridge, UK.
Lorenz, E.N. 2019. The predictability of a flow which possesses many scales of motion.
Tellus 21:289–307.
National Research Council. 2003. Weather Forecasting Accuracy for FAA Traffic Flow
Management: A Workshop Report. Washington, DC: The National Academies Press.
doi: 10.17226/10637.
Mass, C.F., D.Ovens, K.Westrick, and B.A.Colle. 2002. Does increasing horizontal
resolution produce more skillful forecasts? B. Am. Meteorol. Soc. 83:407–430.
51
Downloaded by Chitransh Tyagi (chitranshtyagi007@gmail.com)
Molinari, J. 1993. An overview of cumulus parameterizations in mesoscale models. Pp. 155–
158 in The Representation of Cumulus Convection in Numerical Models. American
Meteorological Society, Boston.
Sun, J., and N.A.Crook. 1998. Dynamical and microphysical retrieval from Doppler radar
observations using a cloud model and its adjoint. Part II: Retrieval experiments of an
observed Florida convective storm. J. Atmos. Sci. 55:835–852.
Sun, J., and N.A.Crook. 2001. Real-time low-level wind and temperature analysis using
WSR-88D data. Weather Forecast. 16:117–132.
Wang, D., K.K.Droegemeier, D.Jahn, K.M.Xu, M.Xue, and J.Zhang. 2001. NIDS-based
intermittent diabatic assimilation and application to storm-scale numerical weather
prediction. Preprints, 14th Conference on Numerical Weather Prediction, July 30-
August 2, American Meteorological Society, Fort Lauderdale, Fla., pp. J125–J128.
Weygandt, S.S., A.Shapiro, and K.K.Droegemeier. 2002. Retrieval of initial forecast fields
from single-Doppler observations of a supercell thunderstorm. Part II:
Thermodynamic retrieval and numerical prediction. Mon. Weather Rev 130:454–
476.
Wilkes, D.S. 1995. Statistical Methods in the Atmospheric Sciences. San Diego: Academic
Press, 467pp.
52