You are on page 1of 18

CHAPTER 1: INTRODUCTION

Weather forecasting is the application of science and technology to predict the conditions of
the atmosphere for a given location and time. People have attempted to predict the
weather informally for millennia and formally since the 19th century. Weather forecasts are
made by collecting quantitative data about the current state of the atmosphere, land, and
ocean and using meteorology to project how the atmosphere will change at a given place.
Once calculated manually based mainly upon changes in barometric pressure, current
weather conditions, and sky condition or cloud cover, weather forecasting now relies on
computer-based models that take many atmospheric factors into account.[1] Human input
is still required to pick the best possible model to base the forecast upon, which involves
pattern recognition skills, teleconnections, knowledge of model performance, and
knowledge of model biases. The inaccuracy of forecasting is due to the chaotic nature of the
atmosphere, the massive computational power required to solve the equations that
describe the atmosphere, the land, and the ocean, the error involved in measuring the initial
conditions, and an incomplete understanding of atmospheric and related processes. Hence,
forecasts become less accurate as the difference between current time and the time for
which the forecast is being made (the range of the forecast) increases. The use of ensembles
and model consensus helps narrow the error and provide confidence in the forecast. In
other words, Weather forecasting means the prediction of the weather through the
application of the principles of physics, supplemented by a variety of statistical and
empirical techniques. In addition to predictions of atmospheric phenomena themselves,
weather forecasting includes predictions of changes on the Earth’s surface climate. These
changes are caused by atmospheric conditions like snow and ice cover, storm tides, and
floods. The basis for weather prediction started with the theories of the ancient Greek
philosophers and continued with Renaissance scientists. It was followed by the scientific
revolution of the 17th and 18th centuries. The theoretical models of 20th- and 21st-century
atmospheric scientists and meteorologists helped for the betterment in applications. The
synoptic weather map came to be the principal tool of 19th-century meteorologists. This is
used today in weather stations and on television weather reports all over the world. All can
happen only through a comprehensive weather forecast. Any weather prediction needs a
systematic collection of weather record of various places and proper analysis using the data
for prediction. Having up-to-date information about the weather helps us to take well-read
decisions. These weather apps constantly update the forecasts for a day or hour, or
sometimes for even a minute. These can be simply termed as the compact weather devices,
as they do not only talk about the temperature of that specific region instead, they can
describe the accurate time of the sunrise and sunset, the time of the rainfall, humidity
levels, etc.

In general, the Indian Meteorological Department (IMD) use a conventional approach to


weather forecasting that includes observing the previous data on weather conditions and
their pattern of behaviour and acquiring the data from weather satellites. Here, weather
forecast API has been used to fetch the weather data and develop the weather app in
Python language. Weather apps are the most popular way to instantly access forecasts,
warnings and other useful weather information on our mobile phones. The system shall be

1
able to produce minimum, maximum and the average data of a particular weather
parameter when it is requested by an operator.
1.1 What is a Weather API?
Weather API is an Application Programming Interface that allows weather data to be
queried from scripts and code. Good weather APIs provide both historical weather data and
forecast data via an easy-to-use, well-defined programming interface. The best APIs have
dozens of weather measures, near-real-time current conditions reporting, and decades of
worldwide historical weather reports. Ideally both historical and forecast look-ups would be
combined into the same API entry point with the addition of an ultra-long-range forecast
based on climate statistics. This single entry point makes it easy for anyone writing a script,
coding and app, or loading a database to get instant access to the exact weather data that
they need from a global database containing hundreds of millions of records. Of course, the
pricing for this API should be cheap enough that anyone can get access and initial users
should be able to start their weather project entirely for free.

1.2 Why use a Weather API?


A weather API is ideally suited for use cases that need large volumes of weather data or
need to access weather data in an automated way. For example, if you want to make a
script that loads weather data into a corporate data warehouse to match against historical
sales metrics, using a weather API in your ETL script is the perfect solution. If you are
creating an app that needs to combine user activity and weather conditions at the time of
that activity, a weather API allows you to retrieve that exact weather conditions at any given
time and location directly in your code. If you are planning the inventory, marketing, and
staffing levels at your small business locations, a weather API can be used from within Excel
or Google Sheets so than you can dynamically adapt your business based on the forecast
conditions and how they apply in your specific case. The use cases for a weather API are
only limited by your business needs and imagination. There are thousands of ways to use
weather data ranging from solar energy production to shipping to vacation planning. And
the power of a weather API means that you can use code or script to automate these tasks
easily for your business, organization, or hobby.

1.3 What are weather app features?


The essential weather app features include adding multiple locations, earth time-lapse, rain
predictions, time of sun rise and sun set, UV Weather map, climate map, weather forecast,
humidity, visibility, wind predictions, push notifications, API integrations, etc.

 Earth time-lapse: The changes in the weather conditions across the globe are simply
displayed by using images and pictures. This feature explains the previous climatic
conditions, at the present moment and how it will be in the next consequences.
 Predictions about the rainfall: This is another fundamental attribute that shows the
forecasts for the rain. It also showcases the percentage of likelihood of the rainfall,
and it is classified into various elements like cloudy, sunny, semi-cloudy, etc.
 Time of sunrise and sunset: This feature shows the duration of day and night. It will
also mention the sunrise time and the sunset time.

2
 Predictions of Wind: This feature is an added benefit for the fishermen, sailors,
windsurfers, para gliders. Also, people who are planning to spend their weekends in
outside places are also profited. For general users, this attribute is not that useful.
 Updates about Humidity: For, the people who are planning for a long drive or to
have a long journey. It is always essential to monitor the humidity level and to start
the journey.
 UV Weather Map: This attribute displays the ultraviolet radiation of the sun across
the globe by the Solar UV index. This is one of those unique features of the weather
app development, and it is generally most helpful in summer.
 Map about Climatic conditions: You can get a clear picture of the climate data with
this feature. It comprises humidity level, the temperature of the surroundings, and
level of carbon dioxide. This attribute is highly beneficial for scholarly people who are
carrying out scientific experiments.
 Weather Forecast: It is a fundamental factor of any weather app. This feature
displays the prevailing status of the weather on a weekly, monthly, daily and hourly
basis

1.4 The advantages of having a weather application

 Understanding the behaviour of the customer: In this competitive market, it has


become essential for business organizations to understand the requirements of the
customers. Furthermore, designing the applications that satisfy their demands helps
you to generate high revenue for your business.
 Build Customer Loyalty: The primary aim of your weather app development
Company is to obtain customer loyalty. By using the intuitive user interfaces, you can
engage your users efficiently.
 Amplify your profit rate: You can simply notice the escalation of traffic to your
application, with the increase in consumer satisfaction. One simple thing that you
have to follow is to render your customers with the best services.
 A powerful tool for marketing: An application is always a great medium to market
your business. By justing offering the users with the fundamental features that can
be easily understood by them, you can amplify your business.

3
CHAPTER 2: METHODOLOGY AND PLANNING
In a developing country and an economy like India where major population is dependent on
agriculture, weather conditions play an important and vital role in economic growth of the
overall nation. So, weather prediction should be more precise and accurate. Weather
parameters are collected from the open source. The programming language used is
‘Python’.

Fig 2.1 System Block Diagram

The weather is predicted using various indices like temperature, humidity and dew-point.
Temperature is the measure of hotness or coldness, generally measured using
thermometer. Units of temperature most frequently used are Celsius and Fahrenheit. We
have used maximum and minimum temperature values along with normal temperature as
different index values for prediction of the weather. Humidity is the quantity of water vapor
present in the atmosphere. It is a relative quantity. Dew point is the temperature of the
atmosphere (which varies according to pressure and humidity) below which water droplets
begin to condense and dew is formed.

4
2.1 Analysis of weather data
Weather forecasting begins with an analysis of the current state of the atmosphere, ocean,
and land surface. Reliable observations drawn from many platforms, including satellites,
radar, weather balloons, surface stations, and aircraft (both crewed and uncrewed) are
crucial for generating accurate analyses. Because forecast quality is partially reliant on the
quality of the underlying analysis, scientists continue to develop techniques to integrate
observations into four-dimensional model representations of the Earth system. In addition
to their vital role in weather forecasting, these analyses support scientific investigations
designed to help develop improved weather prediction tools and techniques.

2.2 Forecast techniques


Meteorologists have traditionally used their intuition and available observations to create
forecasts up to a few hours ahead of time. Thorough human diagnosis of some complex
scenarios, such as severe-thunderstorm environments, remains necessary to optimize
situational understanding and to make and communicate high-quality forecasts. In addition,
rapidly updating numerical models, as well as statistical tools and artificial intelligence–
based models that blend observations with NWP outputs, are increasingly used to make
short-term forecasts, whether those issued by official forecast agencies or those available
through popular smartphone applications.
Beyond a few hours ahead of time, NWP has long been the dominant forecasting tool.
Modern NWP models start from an initial analysis of meteorological conditions produced
through data assimilation and then apply the physical and dynamical equations that
govern atmospheric evolution to predict the weather. Such models are continuously
developed and collaboratively maintained by multiple entities. Despite their increasing skill
and ability to depict progressively smaller-scale phenomena, NWP models are imperfect.
Model shortcomings exist due to limited observations, imperfect data assimilation methods,
and the approximations required to represent small-scale physical processes such as energy
exchanges between the surface and atmosphere as well as phase changes of water.
Approaches such as statistical bias correction, model blending, ensemble forecasts, and
artificial intelligence/machine learning are increasingly used to mitigate NWP models’
shortcomings while improving forecast skill.
2.3 Technologies Used

 Client-Side Technology
HTML AND CSS: HTML (the Hypertext Markup Language) and CSS (Cascading Style
Sheets) are two of the core technologies for building Web pages. HTML provides the
structure of the page, CSS the (visual and aural) layout, for a variety of devices.

BOOTSTRAP: Bootstrap is the most popular HTML, CSS, and JavaScript framework
for developing responsive, mobile-first websites. It is a front-end framework used for
easier and faster web development.
It includes HTML and CSS based design templates for typography, forms, buttons,
tables, navigation, modals, image carousels and many others. It can also use
JavaScript plug-ins. It facilitates you to create responsive designs.

5
JAVASCRIPT: JavaScript is a lightweight, interpreted programming language. It is
designed for creating network-centric applications. It is complimentary to and
integrated with Java. JavaScript is very easy to implement because it is integrated
with HTML. It is open and cross-platform. Once you learnt Javascript, it helps you
developing great front-end as well as back-end softwares using different Javascript
based frameworks like jQuery, Node.JS etc.
JavaScript is used to create interactive websites. It is mainly used for:
• Client-side validation
• Displaying pop-up windows and dialog boxes

 Server-Side Technology
PYTHON: Python is an interpreted, object-oriented, high-level programming language
with dynamic semantics. Its high-level built in data structures, combined with
dynamic typing and dynamic binding, make it very attractive for Rapid Application
Development, as well as for use as a scripting or glue language to connect existing
components together. Python's simple, easy to learn syntax emphasizes readability
and therefore reduces the cost of program maintenance. Python supports modules and
packages, which encourages program modularity and code reuse. The Python
interpreter and the extensive standard library are available in source or binary form
without charge for all major platforms, and can be freely distributed.

DJANGO: Django is a back-end server-side web framework. It is free, open source


and written in Python. Django takes care of the difficult stuff so that you can
concentrate on building your web applications. It emphasizes reusability of
components, also referred to as DRY (Don't Repeat Yourself), and comes with ready-
to-use features like login system, database connection and CRUD operations (Create
Read Update Delete). Django follows the MVT design pattern (Model View
Template).
• Model - The data you want to present, usually data from a database.
• View - A request handler that returns the relevant template and content-
based on the request from the user.
• Template - A text file (like an HTML file) containing the layout of the web
page, with logic on how to display the data.

 Machine learning – Linear Regression: Linear regression is the most basic and
frequently used predictive model for analysis. Regression estimates are generally
used to describe the data and elucidate relationship between one or more
independent and dependent variables. Linear regression finds the best-fit through
the points, graphically. The best-fit line through the points is known as the
regression line. Here, the line can be straight or curved depending on the data.

6
Fig 2.3 Example of Regression line
Types of Linear Regression
Linear regression can be further divided into two types of the algorithm:
• Simple Linear Regression: If a single independent variable is used to predict the value
of a numerical dependent variable, then such a Linear Regression algorithm is called
Simple Linear Regression.
• Multiple Linear regression: If more than one independent variable is used to predict
the value of a numerical dependent variable, then such a Linear Regression
algorithm is called Multiple Linear Regression.
Scikit-learn, a Python library for machine learning can also be used to build a regressor in
Python.

 DATABASE SERVER

SQLITE: SQLite is a database engine written in the C programming language. It is not


a standalone app; rather, it is a library that software developers embed in their apps.
As such, it belongs to the family of embedded databases. It is the most widely
deployed database engine, as it is used by several of the top web browsers,
operating systems, mobile phones, and other embedded systems. SQLite is a
software library that implements a self-contained, serverless, zero-configuration,
transactional SQL database engine. SQLite is one of the fastest-growing database
engines around, but that's growth in terms of popularity, not anything to do with its
size. The source code for SQLite is in the public domain.

 Operating System:
• MICROSOFT WINDOWS
• LINUX

2.4 Hardware Requirements


• Processor - 2.0 GHz or above

7
• 2 GB RAM or more
• 160 GB or more Hard Disk Drive

2.5 ER Diagram

8
2.5 Use case for weather stations

9
Here shows interaction between its users that are admin and the weather station user,
and the application in the viewpoint of each user of weather station system.

2.7 Use case for crowdsourcing application

10
This diagram shows interaction according to the system and the pubic user.

11
CHAPTER 3: OBJECTIVES AND FUTURE SCOPE

3.1 Objectives
In summary, weather forecasts are increasingly accurate and useful, and their benefits
extend widely across the economy. While much has been accomplished in improving
weather forecasts, there remains much room for improvement. The forecasting
community is working closely with multiple stakeholders to ensure that forecasts and
warnings meet their specific needs. Simultaneously, they are developing new
technologies and observational networks that can enhance forecaster skill and the value
of their services to their users.
 To provide time to time updation of the weather.
 To provide the temperature updates.
 To prepare upcoming 7 days data Prediction.
 To provide accurate data information about weather.
 To provide flexible options for the user to check the weather anytime and anywhere.
 To help user to travel hassle free and check the future weather to plan holidays.
 To analyse weather symbols, station models and weather maps.

3.2 Future Scope


 Prediction will be done based on historical weather activities like based on past
temperature, wind, etc. pattern what will be the future weather.
 Mobile and IOS application Integration.
 Addition of new cities weather dataset to predict their future weather also.
 Addition of new Indices
 Animation like snow and functions like notification can also be added.
 Nobody wants to expose the data of their application, so some measures will be
taken in order to maintain perfect privacy and secure the information.
 UI/UX designs will play a key role when designing an application.

12
13
Linear Regression is a
machine learning
14
algorithm based on
supervised learning. It
performs a regression
task. Regression models a
target prediction value
based on
independent variables. It
is mostly used for finding
out the relationship
between
variables and forecasting.
Different regression
models differ based on –
the kind of
15
relationship between
dependent and
independent variables,
they are consideringand
the number of
independent variables
being used.

Linear Regression is a
machine learning
algorithm based on
supervised learning. It

16
performs a regression
task. Regression models a
target prediction value
based on
independent variables. It
is mostly used for finding
out the relationship
between
variables and forecasting.
Different regression
models differ based on –
the kind of
relationship between
dependent and
17
independent variables,
they are consideringand
the number of
independent variables
being used.

18

You might also like