0% found this document useful (0 votes)
23 views

weather forecasting-3

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

weather forecasting-3

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 39

WEATHER FORECASTING SYSTEM

A Real Time Project Report submitted


in partial fulfilment of
the requirements for the award of the Degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING

Submitted By

T .MEGHASHYAM: 22WJ8A6753

Under the Guidance of


Mr Manik Rao Patil
Assistant Professor

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

GURU NANAK INSTITUTIONS TECHNICAL CAMPUS (Autonomous)


(Affiliated to JNTUH, Accredited by NBA)
Ibrahimpatnam, R. R. District, Telangana - 501506.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

This is to certify that this real time project entitled “WEATHER


FORECASTING SYSTEM” submitted by T. MEGHASHYAM
(22WJ8A6753) in partial fulfilment of the requirements for the award of
the degree of Bachelor of Technology in Computer Science and
Engineering prescribed by Guru Nanak Institutions Technical
Campus (Autonomous) affiliated to Jawaharlal Nehru Technological
University, Hyderabad.

Internal Guide Coordinator HOD


Mr. Manik Rao Patil Hussan Mr.Monis Tariq Dr.M.I.Thariq
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
VISION OF THE INSTITUTE
To be an internationally renowned institution in Engineering,
Management, Pharmacy and related fields to produce scientists,
engineers, entrepreneurs, leaders, academicians and thinkers of
tomorrow with exemplary professional conduct and adherence to ethical
values to serve for changing needs of industry and society.
MISSION OF THE INSTITUTE
M1: Imbibe soft skills, technical skills, creativity and passion in students.
M2: Develop the faculty to reach the international standards.
M3: Maintain outcome-based student centric teaching learning with high
academic standards and quality that promotes the analytical thinking and
independent judgement.
M4: Promote research, innovation, product development by collaborating
with reputed industries & reputed universities in India and abroad. Offer
collaborative industry programs in emerging areas and install the spirit of
enterprising.
M5: To install the ethical values in the faculty and students to serve the
society.
VISION OF THE DEPARTMENT
To be a leading and premier department in the field of Internet of Things
by providing competent and highly skilled professionals to cater the
needs of the industries and society.
MISSION OF THE DEPARTMENT
M1: To establish an essential environment with state-of-the-art
infrastructure and highly
qualified faculty for imparting domain knowledge.
M2: To prepare the students with holistic personality by means of
appropriate technical and soft skills for solving real world problems.
M3: To enrich and empower student’s caliber for the positive societal
contribution with emerging technologies.
M4: Extensive partnerships and collaborations with Industries for
technology up-gradation.

ACKNOWLEDGEMENT
We wish to express our sincere thanks to Vice-Chancellor Sardar
G.S.Kohli of Guru Nanak Institutions for providing us all necessary
facilities, resources and infrastructure for completing this project work.

We express a whole hearted gratitude to our Managing Director


Dr.H.S.Saini for providing strong vision in engineering education through
accreditation policies under regular training in upgrading education for the
faculty members.

We express a whole hearted gratitude to our Director Dr.K.Venkata Rao


for providing us the constructive platform to launch our ideas in the area
of Information Technology and improving our academic standards.

We express a whole hearted gratitude to our Associate Director Dr. Rishi


Sayal for providing us the conducive environment for carrying through our
academic schedules and projects with ease.

We have been truly blessed to have a wonderful advisor Dr.M.I.Thariq


Hussan, HOD Department of Information Technology for guiding us to
explore the ramification of our work and we express our sincere gratitude
towards him for leading me throughout the real time project work.

We specially thank our coordinator Mr. Monis Tariq, Assistant Professor,


Department of Information Technology for hir valuable suggestions and
constant guidance in every stage of the real time project.

We specially thank our internal guide Mr Manik Rao Patil, Assistant


Professor, Department of Information Technology for his valuable
suggestions and constant guidance in every stage of the project.

We express our sincere thanks to all the faculties of CSE (IOT)


department who helped us in every stage of our project by providing their
valuable suggestions and support.

DECLARATION
I, T. MEGHASHYAM(22WJ8A6753) hereby declare that the project report
entitled “WEATHER FORECASTING SYSTEM” under the esteemed
guidance of Mr. Manik Rao Patil, Assistant Professor, Department of
Information Technology submitted in partial fulfilment of the requirements
for the award of the degree of Bachelor of Technology in Computer
Science & Engineering (Internet of Things). This is a record of bona fide
work carried out by us and the results embodied in this project report
have not been submitted to any other University or Institute for the award
of Degree or Diploma.

Date :
Place : GNITC

T. MEGHASHYAM : 22WJ8A6753
CONTENTS
Chapter Page
No. Title No.
ABSTRACT iv

LIST OF FIGURE vi

LIST OF ABBREVIATIONS viii

1 INTRODUCTION 1
1.1 Overview of the Project 1
2 LITERATURE SURVEY 3
3 AIM AND SCOPE OF THE PROJECT 5
3.1 Aim of the Project 5
3.2 Scope of the Project 5
4 MATERIALS AND METHODS USED 6
4.1 System Requirements 6
4.1.1 Hardware Requirements 6
4.1.2 Software Requirements 6
4.1.2.1 Front-End Part 6
4.1.2.2 Back-End Part 6
4.1.3 Python Language 7
4.1.3.1 Python Libraries and Frameworks 7
4.1.3.2 Versatility, Efficiency, Reliability 8
and Speed
4.1.3.3 Visual Studio Code 8
4.1.4 Django 9
4.1.4.1 Complete 10
4.1.4.2 Versatile 10
4.1.4.3 Maintainable 10
4.1.4.4 Portable 11
4.1.5 Bootstrap 11
4.1.5.1 Features 12
4.1.6 Java Script 12
Chapter Page
No. Title No.

4.1.7 HTML 13
4.2 Design Methodology 16
4.2.1 Existing System 16
4.2.2 Proposed System 16
4.3 Module Description 17
4.3.1 Module 1: Interactive Web Application 17
4.3.2 Module 2: Location Based Prediction 17
4.3.3 Module 3: Graphical Representation 17
4.4 System Implementation 17
4.4.1 Architecture Explanation 18
4.4.2 Data Flow Explanation 20
5 RESULTS AND DISCUSSIONS 21
5.1 Home Page 21
5.2 Result Page 1 22
5.3 Result Page 2 23
6 CONCLUSION AND FUTURE SCOPE 24
6.1 Conclusion 24
6.2 Future Work 24
REFERENCES 25
APPENDIX 28
ABSTRACT

Weather forecasting is one of the most scientifically and technologically


challenging problems around the world in the last century. To make an accurate
prediction is indeed, one of the major challenges that meteorologists are facing all
over the world. To predict the conditions of the atmosphere for a given location,
Weather Forecasting is used. Weather forecasting is made by collecting numerous
data predicted by very proper understanding of the collected data. Weather simply
refers to the condition of air on the earth at given place and time. It is a continuous,
data-intensive, multidimensional, dynamic and chaotic process. These processes
make weather forecasting a formidable challenge.

Forecasting is the process of estimation in unknown situations from the


historical data. It is the application of science and technology. Weather forecast is
more helpful for people as it predicts how the future weather is going to be and
people may plan accordingly. Farmers will be most beneficial one’s as they may
know the rainfall prediction accordingly. The weather forecast can be done in many
ways like using the previous data or analyzing the current clouds.

This proposed application concentrates on weather forecasting with an


improved prediction and reliable accuracy. Traditional observations made at the
surface of atmospheric pressure, temperature, wind speed, wind direction,
humidity, precipitation are collected routinely from trained observers, automatic
weather stations or buoys. During the data assimilation process, information
gained from the observations is used in conjunction with a numerical model's most
recent forecast for the time that observations were made to produce the
meteorological analysis.

Numerical weather prediction models are computer simulations of the


atmosphere. They take the analysis as the starting point and evolve the state of
the atmosphere forward in time using understanding of physics and fluid dynamics.
The complicated equations which govern how the state of a fluid changes with time
require supercomputers to solve them. The output from the model provides the
basis of the weather forecast.

v
LIST OF ABBREVIATIONS

Abbreviation Expansion
RAM Random Access Memory
HTML Hyper Text Markup Language
CSS Cascading Style Sheets
SQL Structured Query Language
JSON Java Script Object Notation
API Application Programming Interface

LIST OF FIGURES

Figure Figure Page


No. Name No.

4.1 Architecture Diagram 19


4.2 Data Flow Diagram 20
5.1 Home Page Diagram 21
5.2 Result Page 1 Diagram 22
5.3 Result Page 2 Diagram 23

vi
CHAPTER - 1
INTRODUCTION

1.1 Overview of the Project

Weather prediction is the application of technology to predict the action


of the atmosphere for a given location. It is becoming increasingly vital for
business, agriculturists, farmers, disaster management and related
organizations to understand the natural phenomena. The art of weather
prediction began with using the reoccurring astronomical and meteorological
events to help them to monitor the seasonal changes in the weather.
Throughout these centuries, this attempt is made to produce forecasts based
on weather changes and personal observations. Weather prediction has been
one of the most interesting domains.

The scientists are been trying to forecast the meteorological data using
a big set of methods, some of them more accurate than others. Weather
forecasting is an essential application in meteorology and has been one of the
most scientifically challenging problems around the world. Weather condition
is a state of atmosphere at given time and the weather parameters are
temperature, humidity, and wind speed. The accuracy of the prediction
depends on knowledge of prevailing weather condition over large areas.
Weather is the non-linear and dynamic process as it varies day to day even
minute to minute; the big challenge of weather is data intensive and the
frenzied nature.

Weather forecasting means predicting the weather and telling how the
weather changes with change in time. Change in weather occurs due to
movement or transfer of energy. Many meteorological patterns and features
like anticyclones, depressions, thunderstorms, hurricanes and tornadoes
occur due to the physical transfer of heat and moisture by convective process.
Clouds are formed by evaporation of water vapour. As the water cycle keeps
on evolving the water content in the clouds increases which in turn leads to
precipitation.

vii
It is also possible to identify the different types of cloud associated with
different patterns of weather. These patterns help in predicting the weather
forecast. We are always with or around a weather forecast; we always carry it
with us and never want to be away from it.

Weather forecasting is one of the prominent topics that have influenced


people’s lives and activities over a long time. It is a kind of scientific activity,
contributing to the social and economic welfare in many sections of the
society.

Weather forecasts are issued to protect life and property, save life and
tell us what changes to except in the atmosphere. They provide vital
information to a wide range of categories: agriculture, aviation, commerce,
marine, advisories, etc. Forecasting can also significantly influence decision
and policymaking, construction planning, productivity and environmental risk
management. People can also know and be aware of atmospheric changes
through variables such as temperature, wind speed and direction, cloudiness
and precipitation.
CHAPTER – 2

LITERATURE SURVEY

Mark Holmstrom, Dylan Liu, Christopher Vo (2016) concluded that both


linear and functional regression did not perform as well as professional
weather forecasting methods but in the longer run differences in their
performances decreased, suggesting that over a longer period of time,
Machine learning can indeed outperform professional and traditional methods.
Linear regression is a low bias and high variance algorithm and hence its
accuracy can be improved by collecting further data.
Sanyam Gupta, Indumathy, Govind Singhal (2016) suggested and
proposed an efficient and accurate weather prediction and forecasting model
using linear regression concepts and normal equation model. All these
concepts are a part of machine learning. The normal equation is a very
efficient weather prediction model and using the entities temperature, humidity
and dew-point, it canbe used to make reliable weather predictions. This model

2
also facilitates decision making in day to day life. It can yield better results
when applied to cleaner and larger datasets.
Aditya Grover, Ashish Kapoor and Eric Horvitz in their work made a
weather prediction model that predicts by considering the joint influence of key
weather variables. They also made a kernel and showed that interpolation of
space can be done by using GPS with such a kernel, taking into account
various weather phenomena like turbulence. They also performed temporal
analysis withina learner based on gradient tree and augmented the system
using deep neural network.
Muthulakshmi A, ME (SE), Dr. S Baghavathi Priya (2015) in their work
proposed a methodology that aims at providing an efficient and accurate
weather forecasting models to predict and monitor the weather datasets to
predict rainfall. In the past, the parameters of weather were recorded only for
the present time. But in the future, work will be done to make a working model
of selection that can be used for classifying the framework for continuous
monitoring of the climatic attributes.
Divya Chauhan and Jawahar Thakur (2013) made a comparison in their
paper, which shows that the algorithms such as k-mean clustering and
decision trees are well suited for mining data to predict future weather
conditions. If we increase the size of the training set, the accuracy at first
increases but then it slowly decreases after a particular period of time,
depending on the size of the dataset.

Piyush Kapoor and Sarabjeet Singh Bedi (2013) concluded that if we


perform comparison of weather condition variation by sliding window algorithm,
theresults are highly accurate except for the months of seasonal change. The
results can be altered by changing the size of the window. Accuracy of the
unpredictable months can be increased by increasing the window size to one
month.

Qing Yi Feng1, Ruggero Vasile, Marc Segond , AviGozolchiani , Yang


Wang, Markus Abel, ShilomoHavlin , Armin Bunde , and Henk A.
Dijkstra1(2016) have made a machine-learning toolbox which is based on
climate data gathered from analysis and reconstruction of complex networks. It
can also handle data containing multiple variables from these networks. The
development of predictor models in the toolbox is dynamic and data-driven.

3
Siddharth S. Bhatkande, Roopa G. Hubballi(2016) In their work the
authors have used data mining technique and Decision tree algorithm as a
means to classify weather parameters like maximum temperature, minimum
temperature in terms of day, month and year.

John K. Williams and D. A. Ahijevych, C. J. Kessinger, T. R. Saxen, M.


Steiner and S. Dettlinghave shown in their work that a set of skillful predictors
for thunderstorm initiation can be identified by using the random forest
machine learning algorithm. The random forest method can also be used to
identify “regimes” in which they can improve the skill of the application by using
forecast logic.

CHAPTER - 3

AIM AND SCOPE OF PRESENT INVESTIGATION

3.1 Aim of the project

People can get accurate weather information is the main aim of this
application. The important issue faced in our country is climatic changes and
that can be resolved by our application “WEATHER FORECASTING
SYSTEM”. The goal of weather prediction is to provide information. People
and organizations can use to reduce weather related loses and enhanced
societal benefits, including protection of life and property, public health and
support of economic prosperity and quality of life.

3.2 Scope and Objective

Weather forecasts are made by collecting as much data as possible


about the current state of the atmosphere (particularly the temperature,

4
humidity and wind) and using understanding of atmospheric processes
(through meteorology) to determine how the atmosphere evolves in the future.

However, the chaotic nature of the atmosphere and incomplete


understanding of the processes mean that forecasts become less accurate as
the range of the forecast increases.

To develop software for forecasting the weather involving wind speed,


cloud cover, rain or snow in order to nurture the needs of people all around
the globe.

To develop a weather forecasting application on which people can


completely rely for their weather updates. The scope for weather forecasting
system will keep on increasing as the technology progresses.

CHAPTER - 4
MATERIALS AND METHODS USED

4.1 System Requirements

4.1.1 Hardware Requirements

The most common set of requirements defined by any operating


system or software application is the physical computer resources, also
known as hardware. The minimum hardware requirements are as follows,

• Hard disk : 40 GB and Above


• RAM : 512 MB and Above
• Processor : Intel I3 and Above

4.1.2 Software requirements

Software requirements deals with defining resource requirements


and prerequisites that needs to be installed on a computer to provide
5
functioning of an application. The minimal software requirements are as
follows,

1. Python
2. Visual Studio Code
3. Windows / Mac

4.1.2.1 Front-End part


• HTML
• CSS
• Bootstrap
• Java Script

4.1.2.2 Back-end part


 Django
• SQLite 3

4.1.3 Python Language

Python is an object-oriented programming language created by Guido


Rossum in 1989. It is ideally designed for rapid prototyping of complex
applications. It has interfaces to many OS system calls and libraries and is
extensible to C or C++. Many large companies use the python programming
language include NASA, Google, YouTube, BitTorrent, etc. Python
Programming is widely used in Artificial Intelligence, Natural Language
Generation, Neural Networks and other advanced field of Computer Science.

Python is one of the languages that is witnessing incredible growth and


popularity year by year. In 2017, Stack overflow calculated that python would
beat all other programming languages by 2020 as it has become the fastest-
growing programming language in the world.

4.1.3.1 Python Libraries and Frameworks

6
Due to its corporate sponsorship and big supportive community of
python, python has excellent libraries that you can be use to select and save
your time and effort on the initial cycle of development. There are also lots of
cloud media services that offer cross-platform support through libraries- like
tools, which can be extremely beneficial.

Libraries with specific focus are also available like nltk for natural
language processing or scikit-learn for machine learning application.

There are many frameworks and libraries are available for python
language, such as:

• Matplotib for plotting charts and graph


• Scipy for engineering application, science, and mathematics
• Beautifulsoup for HTML parsing and XML
• Numpy for scientific computing
• Django for server-side web development

4.1.3.2 Versatility, Efficiency, Reliability, and Speed

Ask any python developer, and they will wholeheartedly agree that the
python language is efficient, reliable, and much faster than most modern
languages. Python can be used in nearly any kind of environment, and one
will not face any kind of performance loss issue irrespective of the platform
one is working.

One more best thing about versatility of python language is that it can be used
in many varieties of environments such as mobile applications, desktop
applications, web development, hardware programming, and many more. The
versatility of python makes it more attractive to use due to its high number of
applications.

4.1.3.3 Visual Studio Code

Visual studio code is a source-code editor that can be used with a variety
of programming languages, including Java, JavaScript, Go, Node.js, Python
and C++. It is based on the Electron framework, which is used to develop

7
Node.js Web application that run on the Blink layout engine. Visual studio
code employs the same editor component used in Azure DevOps.

Instead of a project system, it allows users to open one or more


directories, which can be saved in workspaces for future reuse. This allows it
to operate as a language-agnostic code editor for any language. It supports a
number of programming language and a set off features that differs per
language. Unwanted files and folders can be excluded from the project tree
via the settings. Many visual studio code features are not exposed through
menus or the user interface but can be accessed via the command palette.
Visual studio code can be extended via extensions, available through a
central repository. This includes additions to the editor and language support.
A notable feature is the ability to create extensions that add support for new
languages, themes and debuggers, perform static code analysis, and add
code linters using the language server protocol.

Out of the box, visual studio code includes basic support for most
common programming languages. This basic support includes syntax
highlighting, bracket matching, code folding, and configuring snippets. Visual
studio code also ships with intelliSense for Java script, TypeScript, JSON,
CSS, and HTML, as well as debugging support for Node.js. support for
additional languages can be provided by freely available extensions on the VS
code Marketplace.

Visual Studio Code collets usage data and sends it to Microsoft, although
this can be disabled. However, because of the open-source nature of the
application, the telemetry code is accessible to the public, who can see exactly
what is collected.

4.1.4 Django

Django is a high-level python web framework that encourage rapid


development and clean, pragmatic design. Built by experienced developers, it
takes care much of the hassle of web development, so you can focus on
writing your app without needing to reinvent the wheel. It’s free and open
source.

8
Library: Django includes dozens of extras you can use to handle common web
development tasks. Django takes care of user authentication content
administration, site map, RSS feeds, and many tasks- right out of the box.

Security: Django takes security seriously and helps developers avoid many
common security mistakes, such as SQL injection, cross-site scripting,
crosssite request forgery and click jacking. Its user authentication system
provides a secure way to manage user accounts and passwords.
Scale: Django uses a component-based “shared-nothing” architecture (each
part of the architecture is independent of the others, and can hence be
replaced or changed if needed). Having a clear separation between the
different parts means that it can scale for increased traffic by adding hardware
at any level: catching services, database servers, or application servers. Some
of the busiest sites have successful scaled Django to meet their demand (e.g.
Instagram and Disqus, to name just two).

4.1.4.1 Complete

Django follows the “Batteries include” philosophy and almost everything


developers might want to do “out of the box”. Because everything you need is
part of the one “product”, it all works seamlessly together, follows consistent
design principles.

4.1.4.2 Versatile

Django can be (and has been) used to build almost any type of website
from content management systems and wikis, though to social networks and
news sites. It can work with any client-side framework, and can deliver content
in almost any format (including HTML, RSS feed, JSON, XML, etc). The site
you are currently reading is built with Django!

Internally, while it provides choices for almost any functionally you might
want (e.g. several popular database, templating engines, etc.), it can also be
extended to use other components if needed.

4.1.4.3 Maintainable

9
Django code is written using design principles and patterns that
encourage the creation of maintainable and reusable code. In particular, it
makes use of the Don’t Repeat Yourself (DRY) principle so there is no
unnecessary duplication, reducing the amount of code. Django also promotes
the grouping of related functionally into reusable “applications” and, at a lower
level, groups related code into modules (along the lines of the Model view
controller (MVC) pattern).
4.1.4.4 Portable

Django is written in python, which runs on many platforms. That means


that you are not tied to any particular server platform, and run your
applications on many flavours of Linux, Window, and Mac OS X. Furthermore,
Django is well- supported by many web hosting providers, who often provide
specific infrastructure and documentation for hosting Django sites.

4.1.5 Bootstrap

Bootstrap is a free and open-source CSS framework directed at


responsive, mobile-first front-end web development. It contains HTML, CSS
and (optionally) JavaScript-based design templates for typography, forms,
buttons, navigation, and other interface components.

Bootstrap provides basic style definitions for all HTML elements. The
result is a uniform appearance for prose, tables and form elements across
web browsers. In additional, developers can take advantage of CSS classes
define in Bootstrap to further customize the appearance of their contents. For
example, Bootstrap has provisioned for light and dark colored tables, page
headings, more prominent pull quotes, and text with a highlight.

Bootstrap also comes with several JavaScript components in the form of


jQuery plugins. They provide additional user interface elements such as dialog
boxes, tooltips, and carousels. Each Bootstrap component consists of an
HTML structure, CSS declarations, and in some cases accompanying
JavaScript code. They also extended the functionality of some existing
interface elements, including for example an auto-complete function for input
fields.

10
4.1.5.1 Features

Bootstrap comes with a whole barrelful of components you can easily


tack onto your web page, including:

• Navigation bars
• Dropdowns
• Progress bars
• Thumbnails

Bootstrap comes with its own code for automatically resizing images
based on the current screen size. Just add the .img-responsive class to your
images, and the predefined CSS rules take of the rest. No more spending
hours coding your own grid-Bootstrap come with its own grid system
predefined.

4.1.6 Java Script

JavaScript is a light-weight object-oriented programming language which


is used for several website for scripting the webpages. It is an interpreted full-
fledged programming language that enables dynamic interactivity on website
when applied to an HTML document. It was introduced in the year 1995 for
adding programs to the webpage in the Netscape Navigator browser. Since
then, it has been adopted by all other graphical web browsers. With
JavaScript, users can build modern web applications to interact directly
without reloading the page every time. The traditional website uses js to
provide serval forms of interactivity and simplicity.

Although, JavaScript has no connectivity with Java programming


language. the name was suggested and provided in the times when Java was
gaining popularity in the market. In addition to web browsers, databases such
as CouchDB and MongoDB uses JavaScript as their scripting and query
language.
4.1.6.1 Application of JavaScript

JavaScript is used to create interactive website. It is mainly used for:

1
1
• Client-side validation,
• Dynamic drop-down menus,
• Displaying date and time,
• Displaying pop-up window and dialog boxes (like an alert dialog
box, confirm dialog box and prompt dialog box),
• Displaying clocks etc.

4.1.6.2 Features of JavaScript

1. All popular web browser support JavaScript as they provide built-in


execution environment
2. JavaScript follows the syntax and structure of the C programming
language. Thus, it is a structured programming language.
3. JavaScript is a weekly typed language, where certain types are
implicitly cast (depending on the operation).
4. JavaScript is an objected-oriented programming language that
uses prototypes rather than using classes for inheritance.
5. It is a case-sensitive language.
6. It is a light-weight and interpreted language.
7. JavaScript is supported in several operating systems including,
Windows, macOS, etc.
8. It provides good control to the users over the web browsers.

4.1.7 HTML

The Hyper Text Markup Language or HTML is the standard markup


language for documents designed to be displayed in a web browser. It can be
assisted by technologies such as Cascading Style Sheets (CSS) and scripting
languages such as JavaScript.
Web browser receives HTML documents from a web server or from local
storage and render the documents into multimedia web pages. HTML
describes the structure of a web page semantically and original included cues
for the appearance of the documents.

HTML elements are the building blocks of HTML pages. With HTML
constructs, images and other objects such as interactive forms may be
12
embedded into the rendered page. HTML provides a means to create
structured documents by denoting structural semantics for text such as
heading, paragraphs, lists, links, quotes and other items. HTML elements are
delineated by tags written using angle brackets. Tags such as <img/> and
<input/> directly introduce content into the page. Other tags such as <p>
surround and provide information about document text and may include other
tags as sub-elements. Browsers do not display the HTML tags but use them to
interpret the content of the page.

HTML can embed programs written in a scripting language such as


JavaScript, which affects the behavior and content of web pages. Inclusion of
CSS defines the look and layout of content. The World wide Web consortium
(W3C), former maintainer of the HTML and current maintainer of the CSS
standards, has encouraged the use of CSS over explicit presentational HTML
since 1997. A form of HTML, known as HTML5, is used to displayed video and
audio, primarily using the <canvas> element, in collaboration with Java script.

Originally, HTML was developed with the intent of defining the structure of
documents like headings, paragraphs, lists, and so forth to facilitate the
sharing of scientific information between researches. Now, HTML is being
widely used to format web pages with the help of different tags available in
HTML language.

HTML is a must for students and working professionals to become a great


software Engineer especially when they are working in web development
domain.
I will list down some of the key advantages of learning HTML:

• Create Web site – You can create a website or customize an


existing web template if you know HTML well.
• Become a web designer – If you want to start a career as a
professional web designer, HTML and CSS designing is a must
skill.
• Understand web – If you want to optimize your website, to boost its
speed and performance, it is good to know HTML to yield best
results.
1
3
• Learn other languages – Once you understand the basic of HTML
then other related technologies like JavaScript, PHP, or angular
are become easier to understand.

14
4.2 Design Methodology

4.2.1 Existing System:

Weather forecasting is the application of science and technology to


predict the state of the atmosphere for a given location. Weather forecasts are
made by collecting quantitative data about the current state of the atmosphere
and using scientific understanding of atmospheric processes to project how
the atmosphere will evolve. There are a variety of end users to weather
forecasts. Weather warnings are important forecasts because they are used to
protect life and property.

In ancient times, forecasting was mostly based on weather pattern


observation. Over the years, the study of weather patterns has resulted in
various techniques for rainfall forecasting. Present rainfall forecasting
embodies a combination of computer models, interpretation, and an
acquaintance of weather patterns. So, we created a web application to predict
the weather in accuracy format to help user can get the weather detail.

4.2.2 Proposed System:

Weather report application is a web based application through which you


will able to get all the reports related to weather forecasting of any locations.
Its geographical locator which will be received through your browser setting
and server configuration will automatically identify the location and able to
present its weather details such as Temperature, Direction of Wind, Humidity
etc.

To develop software for forecasting the weather involving Wind Speed,


Cloud Cover, Rain or Snow in order to nurture the needs of any person around
the world.
4.3 Module Description

4.3.1 Module 1: Interactive Web Application

1
5
An interactive website is essentially an internet page that uses different
kinds of software to create a rich, interactive experience for the user. The
Django framework and bootstrap present themes gives the web application a
pleasant look to interact with, it provides a simple and yet sophisticated look to
the user every time they into the web application.

4.3.2 Module 2: Location Based Prediction

Where the user will be naming the location for which he wants to know
the weather updates. After entering the city name, this model gives the
weather forecast for the city entered by the user by providing details like Date,
Time Maximum Temperature, Minimum Temperature and picture describing
rainfall or sunshine. It also predicts the future of weather in maximum and
minimum temperature with accuracy.
The user can also view the same result in graphical representation
module which the amount of rainfall in centimeters and the amount of
sunshine in degrees.

4.3.3 Module 3: Graphical Representation

Bootstrap polishes the application with a better user interface which is


elegant and simple for better user experience. The application features color
full theme like orange, gray etc. allocated for the title, topics and user greeting
on the home page.

4.4 System Implementation

The application is going to be constructed through python IDE for GUI


and SQLlite3 for database management. It is designed to improve the
accuracy enchance safety and effieciency of database. It is a web application
based system which helps us to improve the accuracy of the forecast. The
homepage with a banner explains the web page’s monologue with a title. In
which users can enter the city name to know about weather forecasting about
that city. Once the user enter the city name and click the find weather forecast
they can see the accurate weather forecast of that city. The user can also see

16
the weather forecast in graphical method. The application has a neat user
interface for better interaction and it works smoothly.

4.4.1 ARCHITECTURE EXPLANATION

The architecture diagram Fig 4.1 explains the entire flow of the
proposed system. Normally, every state has a weather department (e.g.) Tamil
Nadu, Andhra Pradesh etc. In that weather department they have an antenna
called automatic weather station, with the help of that antenna we can predict
the climate whether the rain has come or not. So, this is weather data
gathering tool. In this place gathering information are stored in the processed
weather data storage. Our web application gets weather information in that
data storage. The processed weather data will go to user authentic for
forecast which means user have a subscription based plans like SMS or E-
mail they have means, automatically they get weather information through
web browsing not even to type places. Other than that, initially the user will be
requested to enter the location for which he wishes to know the weather
forecasting. After the user enters the location, it will go to web service system.
Web service split the information comes from the data storage, the server
configuration identifiers the location using geographical locator to get accurate
data what actually end user wants. Once the location has been identified, the
corresponding weather forecasted will be presented within fraction of seconds
to the end user.

1
7
Figure 4.1 Architecture Diagram

18
Figure 4.2 Data Flow Diagram

4.4.2 Data Flow Explanation

When the end user request the weather forecasting information from the
web application and it will directly go the API call. API call is the process of a user
application submitting a request to an API and that API retrieving the requested
data from the external server or program and delivering it back to the client. After
API call it will go to the cloud database in which all the weather data information
are saved in a database. From database it will go into JSON data. JSON data is an
open standard file format and data interchange format that uses human-readable
text to store and transmit data objects consisting of attribute value pairs and
arrays. It is a common data format with diverse uses in electronic data interchange.

1
9
CHAPTER - 5
RESUTS AND PERFORMANCE ANALYSIS
5.1 Home Page

Figure 5.1 Homepage Diagram

This is the homepage of the web application of weather forecasting


information. In this page you can get the accurate weather forecasting of your city.
In this home module you can enter your city name and click find weather forecast
or if you want to find it graphically click find weather forecast graphically.

20
5.2 Result Page 1

Figure 5.2 Result Page 1

When you enter the city name and find weather forecast it will show the
accurate weather forecasting information of your city. It will also show you
minimum temperaute, maximum temperature, cloud precipitation, wind speed,
humidity and sunshine. It will give you accurate weather predicitons for every three
hours.

2
1
5.3 Result Page 2

Figure 5.3 Result Page 2

In this Graphical result module you can see your weather information in
graphical method. There are two types of graph one is bar graph and another one
is area graph. In this two types of graph it will update weather time to time and
celsius also.

CHAPTER - 6
CONCLUSION AND FUTURE ENHANCEMENTS

6.1 Conclusion

In the era of the global warming, research in weather measurement,


monitoring and forecasting are become more and more relevant. This research
demonstrates the design and implementation of an affordable mini weather
monitoring system that ensures flexibility, portability, scability and user friendly
operations which can provide data of some weather variables including
22
temperature, humidity and pressure. With the advacement of technology weather
forecasting has developed to its level best, but there is yet to develop, as far as a
nature is so unpredictable. 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. Simultaneously, they are developing new technologies and
observational netwoeks that can enchance forecaster skill and the value of their
services to their users.

6.2 Future Work

The website we created in this project can be futher developed into a mobile
application so that it can give timely weather updates. These updates will be
received in the form of notification in the user’s mobile based on the location they
are present in. So the users don’t even have to get into that particular application
to know the weather and it saves their valuable time.

REFERENCES:
[1] Holmstrom, M., Liu, D., & Vo, C. (2016). Machine learning applied to weather
forecasting. Meteorol. Appl, 1-5.
[2] Gupta, S., Indumathy, K., & Singhal, G. (2016). Weather prediction using normal
equation method and linear regression techniques. IJCSIT) International Journal
of Computer Science and Information Technologies, 7(3), 1490-1493.
[3] Grover, A., Kapoor, A., & Horvitz, E. (2015, August). A deep hybrid model for
weather forecasting. In Proceedings of the 21th ACM SIGKDD international
conference on knowledge discovery and data mining (pp. 379-386).
[4] Priya, S. B. A survey on weather forecasting to predict rainfall using big data
analytics.
[5] Chauhan, D., & Thakur, J. (2014). Data mining techniques for weather prediction:
A review. International Journal on Recent and Innovation Trends in Computing
and Communication, 2(8), 2184-2189.
[6] Kapoor, P., & Bedi, S. S. (2013). Weather forecasting using sliding window
algorithm. International Scholarly Research Notices, 2013.

2
3
[7] Vasantha, B., & Tamilkodi, R. (2019, March). Rainfall pattern prediction using real
time global climate parameters through machine learning. In 2019 International
Conference on Vision Towards Emerging Trends in Communication and Networking
(ViTECoN) (pp. 1-4). IEEE.
[8] Bhatkande, S. S., & Hubballi, R. G. (2016). Weather prediction based on decision
tree algorithm using data mining techniques. International Journal of Advanced
Research in Computer and Communication Engineering, 5(5), 483-487.
[9] Ms. Ashwini Mandale, Mrs. Jadhawar B.A, “Weather Forecast Prediction: A Data
Mining Application”, International Journal of Engineering Research and General
Science Volume 3, Issue 2, MarchApril, 2015, ISSN 2091-2730.
[10] Ankita Joshi, Bhagyashri Kamble, Vaibhavi Joshi, Komal Kajale, Nutan Dhange,
“Weather Forecasting And Climate Changing Using Data Mining Application”,
International Journal Of Advanced Research In Computer And Communication
Engineering,Vol. 4, Issue 3, March 2015.
[11] M. Viswambari, Dr. R. Anbu Selvi, “Data Mining Techniques To Predict Weather: A
Survey”, ISSN 2348 – 7968, IJISET- International Journal Of Innovative Science,
Engineering & Technology, Vol. 1 Issue 4, June 2014.
[12] Divya Chauhan, Jawahar Thakur, “Data Mining Techniques for Weather
Prediction: A Review”, International Journal On Recent and Innovation Trends In
Computing And Communication ISSN: 2321- 8169 Volume: 2 Issue: 8, 2014.
[13] T V Rajini Kanth, V V Sss Balaram And N.Rajasekhar,”Analysis Of Indian
Weather Data Sets Using Data Mining Techniques”, Pp. 89– 94, 2014. © Cs & It-
Cscp 2014.
[14] Pinky Saikia Dutta, Hitesh Tahbilder,”Prediction Of Rainfall Using Data Mining
Technique Over Assam”, Pinky Saikia Dutta et.al / Indian Journal Of Computer Science
And Engineering (IJCSE), ISSN: 0976-5166 Vol. 5 No.2 Apr-May 2014.
[15] Nikhil Sethi, Dr.Kanwal Garg,”Exploiting Data Mining Technique For Rainfall
Prediction”, Nikhil Sethi Et Al, / (IJCSIT) International Journal Of Computer Science And
Information Technologies, Vol. 5 (3), 2014, 3982-3984.
[16] Manisha Kharola and Dinesh Kumar, “Efficient Weather Prediction by Back-
Propagation Algorithm”, IOSRJournal of Computer Engineering (IOSR-JCE) E-ISSN:
2278-0661, PISSN: 2278-8727volume 16, Issue 3, Ver. IV (May-Jun. 2014), Pp 55-58.

24
[17] R.K. Pal, V.K. Sehgal, A.K. Misra, K. Ghosh, U.C. Mohanty and R.S.
Rana,”Application Of Seasonal Temperature And Rainfall Forecast For Wheat
Yield
Prediction For Palampur”, Himachal Pradesh, International Journal Of Agriculture And
Food Science Technology. ISSN: 2249-3050, Volume 4, Number 5, Pp. 453-460
(2013).
[18] Duncan Waga And Kefa Rabah, “Environmental Conditions’ Big Data
Management
And Cloud Computing Analytics For Sustainable Agriculture”, Prime Research On
Education (Pre) ISSN: 2251-1251, Vol. 3(8), Pp. 605-614, November 30th, 2013.
[19] R. Usha Rani, Dr. T.K Rama Krishna Rao,”An Enhanced Support Vector
Regression Model For Weather Forecasting”, IOSR Journal Of Computer Engineering
(IOSRJce) E-ISSN: 2278-0661, P-ISSN: 2278-8727volume 12, Issue 2 IOSR Journal
Of Computer Engineering (IOSR-JCE) E-ISSN: 2278-0661, PISSN: 2278-8727volume
12, Issue 2, Pp 21-24,(May. - Jun. 2013).
[20] Meghali A. Kalyankar, Prof. S. J. Alaspurkar,”Data Mining Technique To Analyze
The Metrological Data”, International Journal Of Advanced Research In Computer
Science And Software Engineering, ISSN: 2277 128x, Volume 3, Issue 2, February
2013.
[21] Piyush Kapoor And Sarabjeet Singh Bedi, “Weather Forecasting Using Sliding
Window Algorithm” Hindawi Publishing Corporation ISRN Signal Processing Volume
2013.

[22] Badhiye S. S, Dr. Chatur P. N, Wakode B. V,”Temperature And Humidity Data


Analysis For Future Value Prediction Using Clustering Technique: An Approach”,
International Journal Of Emerging Technology And Advanced Engineering, ISSN: 2250-
2459, Volume 2, Issue 1, January 2012.
[23] Arti R. Naik, Prof. S.K.Pathan,”Weather Classification And Forecasting Using
Back
Propagation Feed-Forward Neural Network”, International Journal Of Scientific And
ResearchPublications, ISSN 2250-3153, Volume 2, Issue 12, December 2012.
[24] Ch.Jyosthna Devi, B.Syam Prasad Reddy, K.Vagdhan Kuma, B.Musala Reddy,
N.Raja Nayak,”ANN Approach For Weather Prediction Using Back Propagation”,
International Journal Of Engineering Trends And Technology- Volume3, Issue1- 2012.

2
5
[25] Sanjay D. Sawaitul, Prof. K. P. Wagh, Dr. P. N. Chatur,”Classification And
Prediction Of Future Weather By Using Back Propagation Algorithm-An
Approach”,
International Journal Of Emerging Technology And Advanced Engineering, ISSN
22502459, Volume 2, Issue 1, January 2012.

APPENDIX:
from django.shortcuts import render, redirect
from weather.key import api_key import
requests import math from
rest_framework.views import APIView
from rest_framework.response import Response

class ChartData(APIView):
authentication_classes = []
permission_classes = []

def get(self, request, format = None):


city_name="Chennai"
city_name=request.GET['city'].lower()
26
print(api_key)
url =
f"http://api.openweathermap.org/data/2.5/forecast?q={city_name}&appid={api_key}"
# print(url)
w_dataset = requests.get(url).json()

labels = [
w_dataset['list'][1]["dt_txt"].split()[1],
w_dataset['list'][2]["dt_txt"].split()[1],
w_dataset['list'][3]["dt_txt"].split()[1],
w_dataset['list'][4]["dt_txt"].split()[1],
w_dataset['list'][5]["dt_txt"].split()[1],
w_dataset['list'][6]["dt_txt"].split()[1],
]
chartLabel = "Weather Forecast - " + w_dataset['list'][1]["dt_txt"].split()[0]
chartdata = [ math.floor(w_dataset["list"][1]["main"]["temp_min"] -
273.0), math.floor(w_dataset["list"][2]["main"]["temp_min"] -273.0),
math.floor(w_dataset["list"][3]["main"]["temp_min"] -273.0),
math.floor(w_dataset["list"][4]["main"]["temp_min"] -273.0),
math.floor(w_dataset["list"][5]["main"]["temp_min"] -273.0),
math.floor(w_dataset["list"][6]["main"]["temp_min"] -273.0),

]
data ={
"labels":labels,
"chartLabel":chartLabel,
"chartdata":chartdata,
}
return Response(data)

def index(request): return


render(request, "home.html")

def result(request):
if request.method == "POST":
city_name = request.POST["city"].lower()
# print(api_key)
url =
f"http://api.openweathermap.org/data/2.5/forecast?
q={city_name}&appid={api_key}"
# print(url) w_dataset =
requests.get(url).json() try:
context = {
"city_name":w_dataset["city"]["name"],
"city_country":w_dataset["city"]["country"],
"wind":w_dataset['list'][0]['wind']['speed'],
"degree":w_dataset['list'][0]['wind']['deg'],
"status":w_dataset['list'][0]['weather'][0]['description'],
2
7
"cloud":w_dataset['list'][0]['clouds']['all'],
'date':w_dataset['list'][0]["dt_txt"],
'date1':w_dataset['list'][1]["dt_txt"],
'date2':w_dataset['list'][2]["dt_txt"],
'date3':w_dataset['list'][3]["dt_txt"],
'date4':w_dataset['list'][4]["dt_txt"],
'date5':w_dataset['list'][5]["dt_txt"],
'date6':w_dataset['list'][6]["dt_txt"],

"temp": round(w_dataset["list"][0]["main"]["temp"] -273.0),


"temp_min1":math.floor(w_dataset["list"][1]["main"]["temp_min"] -273.0),
"temp_max1": math.ceil(w_dataset["list"][1]["main"]["temp_max"] -273.0),
"temp_min2":math.floor(w_dataset["list"][2]["main"]["temp_min"] -273.0),
"temp_max2": math.ceil(w_dataset["list"][2]["main"]["temp_max"] -273.0),
"temp_min3":math.floor(w_dataset["list"][3]["main"]["temp_min"] -273.0),
"temp_max3": math.ceil(w_dataset["list"][3]["main"]["temp_max"] -273.0),
"temp_min4":math.floor(w_dataset["list"][4]["main"]["temp_min"] -273.0),
"temp_max4": math.ceil(w_dataset["list"][4]["main"]["temp_max"] -273.0),
"temp_min5":math.floor(w_dataset["list"][5]["main"]["temp_min"] -273.0),
"temp_max5": math.ceil(w_dataset["list"][5]["main"]["temp_max"] -273.0),
"temp_min6":math.floor(w_dataset["list"][6]["main"]["temp_min"] -273.0),
"temp_max6": math.ceil(w_dataset["list"][6]["main"]["temp_max"] -273.0),

"pressure":w_dataset["list"][0]["main"]["pressure"],
"humidity":w_dataset["list"][0]["main"]["humidity"],
"sea_level":w_dataset["list"][0]["main"]["sea_level"],

"weather":w_dataset["list"][1]["weather"][0]["main"],
"description":w_dataset["list"][1]["weather"][0]["description"],
"icon":w_dataset["list"][0]["weather"][0]["icon"],
"icon1":w_dataset["list"][1]["weather"][0]["icon"],
"icon2":w_dataset["list"][2]["weather"][0]["icon"],
"icon3":w_dataset["list"][3]["weather"][0]["icon"],
"icon4":w_dataset["list"][4]["weather"][0]["icon"],
"icon5":w_dataset["list"][5]["weather"][0]["icon"],
"icon6":w_dataset["list"][6]["weather"][0]["icon"],

}
except:
context = {

"city_name":"Enter City not Found.... Try Again..."


}

return render(request, "results.html", context)


else:
28
return redirect('home')

def resultfour(request): if request.method


== "POST": city_name =
request.POST["city"].lower()
# print(api_key)
url =
f"http://api.openweathermap.org/data/2.5/forecast?q={city_name}&appid={api_key}&cnt
=96"
print(url)
w_dataset = requests.get(url).json()
#print(w_dataset) #
print(w_dataset['list'])
print(len(w_dataset['list']))
try:
context = {
"city_name":w_dataset["city"]["name"],
"city_country":w_dataset["city"]["country"],
"wind":w_dataset['list'][0]['wind']['speed'],
"degree":w_dataset['list'][0]['wind']['deg'],
"status":w_dataset['list'][0]['weather'][0]['description'],
"cloud":w_dataset['list'][0]['clouds']['all'],
'date':w_dataset['list'][0]["dt_txt"],
'date1':w_dataset['list'][25]["dt_txt"],
'date2':w_dataset['list'][25]["dt_txt"],
'date3':w_dataset['list'][25]["dt_txt"],
'date4':w_dataset['list'][25]["dt_txt"],
'date5':w_dataset['list'][28]["dt_txt"],
'date6':w_dataset['list'][25]["dt_txt"],

"temp": round(w_dataset["list"][0]["main"]["temp"] -273.0),


"temp_min1":math.floor(w_dataset["list"][1]["main"]["temp_min"] -273.0),
"temp_max1": math.ceil(w_dataset["list"][1]["main"]["temp_max"] -273.0),
"temp_min2":math.floor(w_dataset["list"][2]["main"]["temp_min"] -273.0),
"temp_max2": math.ceil(w_dataset["list"][2]["main"]["temp_max"] -273.0),
"temp_min3":math.floor(w_dataset["list"][3]["main"]["temp_min"] -273.0),
"temp_max3": math.ceil(w_dataset["list"][3]["main"]["temp_max"] -273.0),
"temp_min4":math.floor(w_dataset["list"][4]["main"]["temp_min"] -273.0),
"temp_max4": math.ceil(w_dataset["list"][4]["main"]["temp_max"] -273.0),
"temp_min5":math.floor(w_dataset["list"][5]["main"]["temp_min"] -273.0),
"temp_max5": math.ceil(w_dataset["list"][5]["main"]["temp_max"] -273.0),
"temp_min6":math.floor(w_dataset["list"][6]["main"]["temp_min"] -273.0),
"temp_max6": math.ceil(w_dataset["list"][6]["main"]["temp_max"] -273.0),

2
9
"pressure":w_dataset["list"][0]["main"]["pressure"],
"humidity":w_dataset["list"][0]["main"]["humidity"],
"sea_level":w_dataset["list"][0]["main"]["sea_level"],

"weather":w_dataset["list"][1]["weather"][0]["main"],
"description":w_dataset["list"][1]["weather"][0]["description"],
"icon":w_dataset["list"][0]["weather"][0]["icon"],
"icon1":w_dataset["list"][1]["weather"][0]["icon"],
"icon2":w_dataset["list"][2]["weather"][0]["icon"],
"icon3":w_dataset["list"][3]["weather"][0]["icon"],
"icon4":w_dataset["list"][4]["weather"][0]["icon"],
"icon5":w_dataset["list"][5]["weather"][0]["icon"],
"icon6":w_dataset["list"][6]["weather"][0]["icon"],

}
except:
context = {

"city_name":"Enter City not Found.... Try Again..."


}

return render(request, "results4.html", context)


else:
return redirect('home')

30

You might also like