Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

BONAFIDE CERTIFICATE

Certified that this project “TRACING ENERGY GENERATION IN INDIA


USING WIND, SOLAR AND HYBRID MAPS OF INDIA” is the bonafide
work of ALISHA GUPTA (15602109) who carried out the project under my
supervision. Certified further, that to the best of my knowledge the work reported
here does not form part of any other project report or dissertation on the basis of
which a degree or award was conferred on an earlier occasion on this or any
other candidate.

SIGNATURE SIGNATURE
Mrs. K. Kalaivani, M.E., Ph.D, Dr. N. Kumar, Ph.D,
Assistant Professor Associate Professor
Head of the department Supervisor
Dept. Computer Science & Engineering Dept. Computer Science & Engineering
VISTAS VISTAS
Chennai – 600 117 Chennai – 600 117

Submitted for the project work and viva-voce examination held on


………………. at Vels Institute, Technology and Advanced Studies
(VISTAS), Chennai – 600 117.

INTERNAL EXAMINER EXTERNAL EXAMINER


ACKNOWLEDGEMENT

It is certainly a great delight and proud privilege to acknowledge the help and support I received
from the positive minds around me in making this venture a successful one.

The infrastructural support with all kinds of lab facilities have been a motivating factor
in this completion of project work, all because of FOUNDER & CHAIRMAN, Shri. Dr.
ISHARI K. GANESH., with great pleasure I take this opportunity to thank him.

I am grateful to our HEAD OF THE DEPARTMENT, Mrs. K. KALAIVANI


M.E., (Ph.D.)., for her continuous support for the project, from initial advice and contacts in
the early stages of conceptual inception, and through on-going advice and encouragement to
this day. I extend our warmest thanks to my INTERNAL GUIDE, Dr. N. KUMAR, Ph.D.,
who has patiently guided and provided us with invaluable advice and help. I am thankful to
my PROJECT COORINATORS Dr. N. KUMAR, Ph.D, and Mrs. K. ULAGAPRIYA,
M.E., (Ph.D).

I would like to express my greatest gratitude to our staff members, librarian and non-
teaching staff members of Computer Centre, who have helped and supported me throughout.

Last but not the Least, I wish to thank my parents and my friends for their individual
support and interest who has inspired me and encouraged me to go in my own way, without I
would unable to complete this project.

ALISHA GUPTA - 15602109

FAIZ KHAN - 15602116

I
ABSTRACT

Wind power is the use of air flow through wind turbines to provide the mechanical power
to turn electric generators.

Through the medium of a mobile application created by our team, you can locate
the wind, solar and hybrid maps of India with relevant wind and solar data in each map.
With the data provided in the mobile application by our team, you can find the wind
speed, wind direction and electricity generation factors at a particular area by just one
single tap.

This mobile based application build by our team will run in both android as well
as iOS mobile phones. For android mobiles, we are using Java language while for iOS
mobiles, we are using SWIFT language. This is application is developed with
collaboration with National Institute of Wind Energy (NIWE).

II
TABLE OF CONTENT

CHAPTER
TITLE PAGE
NO.
NO.
ACKNOWLEDGEMENT I
ABSTRACT II
TABLE OF CONTENTS III
LIST OF FIGURES VI

1 INTRODUCTION 1
1.1 OVERVIEW
1.2 OFFSHORE WIND RESOURCE ASSESSMENT
1.3 TURBINES PLACEMENT
1.4 WIND CHARACTERISTICS
1.5 WIND DIRECTION
1.6 WIND SPEED

2 LITERATURE SURVEY 4
2.1 PV WATTS NREL WEBSITE
2.2 ROOFTOP CALCULATION
2.3 SOLAR RADIATION ATLAS

3 SYSTEM ANALYSIS 8
3.1 EXISTING SYSTEM
3.1.1 DRAWBACKS OF EXISTING SYSTEM
3.2 PROPOSED SYSTEM
3.2.1 ADVANTAGES

III
4 METHODOLOGY AND MODULES 10
4.1 MATERIALS AND METHODS
4.2 MODULES DESCRIPTION
4.2.1 MAP MODULES
4.2.2 RESULT MODULES
4.2.3 GRAPH MODULES
4.2.4 SHARE MODULES

5 SYSTEM REQUIREMENT 13
5.1 HARDWARE REQUIREMENT
5.2 SOFTWARE REQUIREMENT
5.3 FUNCTIONAL REQUIREMENT
5.4 NON - FUNCTIONAL REQUIREMENT

6 SOFTWARE DESCRIPTION 15
6.1 SERVER
6.2 DATA FLOW

7 SYSTEM IMPLEMENTATION 17
7.1 SYSTEM TESTING
7.1.1 UNIT TESTING
7.1.2 INTEGRATION TESTING
7.1.3 VALIDATION TESTING
7.1.4 OUTPUT TESTING
7.2 SYSTEM IMPLEMENTATION

8 SAMPLE CODING 19

9 OUTPUT SCREENSHOTS 27

IV
10 CONCLUSION AND FUTURE ENHANCEMENT 31
10.1 CONCLUSION
10.2 FUTURE ENHANCEMENT

11 REFERENCES 32

V
LIST OF FIGURES
FIGURE CAPTION PAGE
NO. NO.
Figure 1 WIND TURBINES 1
Figure 2 TURBINE PLACEMENT 2
Figure 3 WIND VANE 3
Figure 4 PV WATTS WEBSITE 4
Figure 5 PV RESULT PAGE 5
Figure 6 MINISTRY OF RENEWABLE ENERGY’S SPIN 5
Figure 7 SPIN’S RESULT PAGE 6
Figure 8 SOLAR RADIATION ATLAS 7
Figure 9 ANDROID IMPLEMENTATION OF THE SOLAR 7
ATLAS
Figure 10 SERVER APPROACH 15
Figure 11 DATA FLOW 16
Figure 12 WELCOME SCREEN 27
Figure 13 WIND MAP 27
Figure 14 WIND DATA 28
Figure 15 SOLAR MAP 28
Figure 16 AREA LOCATOR 29
Figure 17 HYBRID MAP 29
Figure 18 HYBRID DATA I 30
Figure 19 HYBRID DATA II 30

VI
CHAPTER – 1
INTRODUCTION

1.1 OVERVIEW

Wind power, an alternative to burning fossil fuels, is resourceful, renewable, widely distributed,
eco friendly, consumes on water and doesn’t produce any greenhouse gas. The net effects on the
environment are very less as compared to fossil fuel sources.
Power – management techniques such as having excess capacity, geographically distributed
turbines, dispatch able sources, sufficient hydroelectric power, exporting and importing power to
neighboring areas, energy storage, or reducing demand when wind production is low, can in many
cases overcome these problems.

Fig. 1: Wind turbines

Wind is caused by the uneven heating of the atmosphere by the sun, variations in the earth's
surface, and rotation of the earth. Mountains, bodies of water, and vegetation all influence wind
flow patterns. Wind turbines convert the energy in wind to electricity by rotating propeller-like
blades around a rotor. The rotor turns the drive shaft, which turns an electric generator. Three key
factors affect the amount of energy a turbine can harness from the wind: wind speed, air density,
and swept area.
A generator can convert mechanical power into electricity. Mechanical power can also be utilized
directly for specific tasks such as pumping water.
A wind farm is a group of wind turbines in the same location used for production of electric
power. A large wind farm may consist of several hundred individual wind turbines distributed over
an extended area, but the land between the turbines may be used for agricultural or other purposes.

1
1.2 OFFSHORE WIND RESOURCE ASSESSMENT

India is blessed with a coastline of about 7600 km surrounded by water on three sides and has
bright prospects of harnessing offshore wind energy. The Government of India notified the
National Offshore Wind Energy Policy as per the Gazette notification dated 06 October 2015 to
provide a policy framework for the exploitation of offshore wind energy up to the Exclusive
Economic Zone (EEZ) of the country. Ministry of New & Renewable Energy (MNRE) is
designated as the Nodal Ministry for development of Offshore Wind Energy in India and National
Institute of Wind Energy (NIWE) is identified as the Nodal Agency for the development of
offshore wind energy in the country.
With the support of MNRE, NIWE has made consistent efforts to create a environment for
the development of offshore wind in the country. NIWE has carried out preliminary assessment
along the Indian coastline through 74 nos. of meteorological mast measurements and through
satellite data assessment, which showed reasonable potential along the Gujarat and Tamil Nadu
coast.
Towards validating the preliminary assessments, NIWE has installed a 100m high guyed
lattice mast in the coastal line of Dhanushkodi, Rameshwaram which is a narrow piece of land
jutting towards Sri Lanka and surrounded by water in three directions. The wind data has been
monitored since October 2013, which indicates an annual average wind speed of 8.25 m /s, and
Wind Power Density as 493.17 W/m2 at 100 m level.

1.3 TURBINE PLACEMENT

The placement of wind mills (or turbines) plays an important role in the efficiency of wind energy.
There are two ways of the placement:
• HAWT [Horizontal Air Wind Turbine]
• VAWT [Vertical Air Wind Turbine]

Fig. 2: Ways of turbine placement

2
1.4 WIND CHARACTERISTICS

Wind characteristics play an important role in the potential of movement of wind turbines and to
generate kinetic energy through it. Two important characteristics are:
• Direction: The direction of the wind must be jolted down for calculating velocity of the
wind.
• Mean wind speed: It estimates annual wind yield though it doesn’t give distribution.

1.5 WIND DIRECTION

Wind direction is figured out using Wind vane.

Fig. 3: Wind vane

1.6 WIND SPEED

Wind speed plays an important role:


• Diurnal: Caused by difference between temperature during day and at night.
• Depressions: Occur with day intervals along the coastal region.
• Annual: Distribution is latitude dependant.

3
CHAPTER – 2
LITERATURE SURVEY

2.1 PV WATTS NREL WEBSITE

The field of solar potential measurement is being predominantly done by a website named PV
Watts under NREL (National Renewable Energy Laboratory) US department of Energy. This
website aims to provide data about the entire world on solar power plant cost estimation and energy
production levels. This site uses the closest TMY (Typical Meteorological Year) weather data. This
is hourly data developed using weather-satellite measurements incorporated into a site-time specific
model. The Calculator estimates the electricity production of grid-connected roof- or ground-
mounted crystalline silicon photovoltaic (PV) system based on a few simple inputs

.
Fig. 4: PV Watts website

This site allows changing the DC system size, module type, array type, system losses, tilt and
azimuth values for a better estimate. However, this website is not very precise for India as solar data
is best measured on the ground which is only available from SRRA department under NIWE for
India. Also, the data provided by NREL is for a10km x 10km grid which can be inaccurate for very
small solar installations.

Thus, the website uses the solar data from their closest source and location services from the
Google maps to calculate energy generate by a PV system in kwh/m2/year and give a rough
estimate of the cost of energy produced by the system. The result is presented in US Dollars or
Indian Rupees for every month and for the whole year. The site also allows us to set the tariff rates
and determine the economics of a solar installation.

4
Fig.5: Results Page

The end result could be downloaded in a CSV format and be viewed in MS Excel. The monthly and
hourly report could also be generated, which may be used in advanced plant design & planning.

2.2 SOLAR ROOFTOP CALCULATOR

The Solar Rooftop calculator is a solar calculator under the SPIN (Solar Photovoltaic Installation)
website by the Ministry of New and Renewable Energy India. It can take in values from the user as
text and calculates the following values.
1. Size of the plant
2. Cost of the plant
3. Total Energy Generated in 25 years (Lifetime of the Plant)
4. Financial Savings
5. Carbon dioxide Emissions Mitigated
6. No. of Trees equivalent
7. EMI Calculation

Fig. 6: Ministry of New and Renewable Energy’s SPIN (Solar Photovoltaic Installation)

5
However, this does not make use of the latest maps technology. The result generated is of PDF
form. It does not give any graph nor any monthly statistics to support its estimate.
This website creates an estimate based on the assumptions that 10m2 of solar panel area will
generate 1kwh of power and 1kWp solar rooftop plant will generate on an average over the year 5.0
kWh of electricity per day (considering 5.5 sunshine hours).The plant capacity is calculated for area
of rooftop method using the first assumption, for the capacity method the direct input of capacity is
used and for the budget method the cost of the overall installation is considered. The total energy
generation form the solar power plant is calculated using the assumption the solar irradiance of an
entire state in India to be a particular value. For example, the solar irradiance value of Tamil Nadu
is 1266.52 W / m2.

Fig. 7: SPIN’s Result page

2.3 SOLAR RADIATION ATLAS

The Solar Radiation Atlas given by the SRRA department under NIWE website provides solar data
with a 3km X 3km spatial resolution with an annual average value of
1. GHI (Global Horizontal Irradiance)
2. DHI (Diffuse Horizontal Irradiance)
3. DNI (Direct Normal Irradiance)

These are administrative details pertaining to the 3 km X 3 km grid. Here the values to GHI are
sufficient to calculate the potential because the GHI is a combination of DHI and DNI given by the
formula:
GHI = DHI + DNI*cos(θ)
This website also displays AEP (Annual Energy Production), CUF (Capacity Utilization Factor)
and location of all the solar power measurement stations present across India.

6
Fig. 8: Solar Radiation Atlas

This method of displaying solar data is only useful for a large area solar panel construction in the
category of MWH. However, for a home setup or for a smaller area we need more precise
calculation of area, solar data and power potential.
Also, there is an android app done by NIWE that uses text data of GHI, DHI and DNI from NIWE
and uses Google maps as its base map. This app is a basic reproduction of the already available
solar atlas using Google Map and Android APIs. The app does not make any kind of prediction or
analysis for the area to be deployed. The app to be made makes use of Android platform, Google
maps and the annual GHI data from the Solar Atlas.

Fig. 9: Android implementations of the Solar Atlas

The app demonstrates the ability to use Android platform especially the Google maps Android API.
The app’s main disadvantage is that this app does not make any prediction on the solar potential for
a given area nor give any cost benefit analysis.

7
CHAPTER – 3
SYSTEM ANALYSIS

3.1 EXISTING SYSTEM

The NIWE website has the Solar Atlas of India under SRRA section, the website provides
solar data such as

1. GHI (Global Horizontal Irradiance)

2. DHI (Diffuse Horizontal Irradiance)

3. DNI (Direct Normal Irradiance) only in MWH for a 3km x 3km area as
standard.

3.1.1 DRAWBACKS OF EXISTING SYSTEM

This method of displaying solar data is only useful for a large area solar panel construction.
However for a home setup or for a smaller area we need more precise calculation of area,
solar data and power potential. The power potential here will be given in KWH. The existing
system cannot calculate the area selected by the user and doesn’t show the required output.

3.2 PROPOSED SYSTEM

Wind energy based power production technologies have matured to become viable source of
renewable energy. Developing new methods for using wind energy is necessary for modern day
power needs. Wind turbines method of power generation is the most common option because it is
very effective.

The NIWE (National Institute of Wind Energy) under MNRE (Ministry of New and Renewable
Energy) is an esteemed institute dedicated to Indian wind and solar renewable energy generation
and monitoring. The SRRA (Solar Radiation and Resource Assessment) is a division under NIWE
that is responsible for solar energy monitoring throughout India. They have created the Solar
Radiation Map of India using high quality, ground measured solar data. This asks the question,
whether it is possible to get a quick estimate of a solar installation.

The mobile app would quickly and effortlessly give a rough estimate on what a solar installation
could save in power consumption costs. The mobile app implementation of the solar calculator can
be created using the android platform which is free and an open platform built on Linux. It is an

8
open source solution for mobile devices offering a complete software stack including operating
system, middleware, and key mobile applications.

The key advantages include speed, scalability, performance, customizable user interface and
easy to adopt development techniques. For the purpose of a making a energy generation calculator
app the mobile application has to do a lot of tasks like the app has to talk to Google map servers and
get map data, and to NIWE servers for getting annual GHI data, the app also has to make a lot of
calculation like area measurement form the map, annual energy production, turbines capacity,
power plant capacity, capacity utilization factor, total energy generated in 25 years etc., the app has
to fetch monthly data form locally present SQLite database and create graph using Google Charts
API. At the end the app has to generate a PDF file showing the collected data, calculated data and
the graph. This is for the purpose of storing and sharing.

To solve the above-mentioned tasks the app has to be programmed and the following explains
the processes done in creating the app. The flow of control in the app is defined in the sequence
diagram section showing what process needs to be executed and in what order. The different
components involved in the app, along with their tasks and purpose are defined in the component
diagram section. The module description section explains in detail all the different modules present
within the app.

3.2.1 ADVANTAGES OF PROPOSED SYSTEM


 Nowadays, everybody has a mobile phone and a working data connection.
 The mobile application occupies less space and is user friendly.
 The mobile application is free of cost and is effective.

9
CHAPTER – 4
METHODOLOGY AND MODULE DESCRIPTION

4.1 MATERIALS AND METHODS

The mobile app implementation of the wind energy and wind speed calculator that can be
created using the android platform which is free and an open platform built on Linux. It is an
open source solution for mobile devices offering a complete software stack including
operating system, middleware, and key mobile applications. The key advantages include
speed, scalability, performance, customizable user interface and easy to adopt development
techniques.

For the purpose of a making a wind energy calculator app, the mobile application has to
do a lot of tasks like the app has to talk to Google map servers and get map data, and to
NIWE servers for getting annual GHI data, the app also has to make a lot of calculation like
wind speed calculation, determining the latitude and longitude of a space, area measurement
form the map, annual energy production, power plant capacity, capacity utilization factor,
total energy generated in 25 years etc., the app has to fetch monthly data form locally present
SQLite database and create graph using Google Charts API. At the end the app has to
generate a PDF file showing the collected data, calculated data and the graph. This is for the
purpose of storing and sharing.

To solve the above-mentioned tasks the app has to be programmed and the following
explains the processes done in creating the app. The flow of control in the app is defined in
the sequence diagram section showing what process needs to be executed and in what order.
The different components involved in the app, along with their tasks and purpose are defined
in the component diagram section. The module description section explains in detail all the
different modules present within the app. The calculations that are made with input of area,
annual and monthly GHI are explained in the app calculations section.

4.2 METHODS DESCRIPTION

The mobile application developed is divided into four modules.


a. Map module
b. Result module
c. Graph module
d. Share module

10
4.2.1 MAP MODULE

• This module is used to show the map of India to the user for navigating to his/her area of
interest for the placement of the wind turbines and solar panels.
• This module lets the user to close in to the area of interest visually form a map instead of
entering in the values manually as text. It identifies the area of interest, converts it into the
parameter area in m2 and passes it to the results module along with the location data.
• The Google maps API allows service for free up to 25,000 users per day. One could use the
GPS in their mobile device to locate themselves on the Google map easily. We are using the
places, drawing and geometry libraries under the Google maps API.

4.2.2 RESULT MODULE

• This module is used to calculate the wind potential for a given area by taking into account
the location data, area from the map module and fetching the GHI value from the NIWE
server. The wind potential thus fetched is used to calculate the power potential for that area
if a wind turbine installation where to be done.
• The results are given in kWh for power potential for a year and for every month in a
calendar year.
• Using these values of area and GHI, the wind speed, wind direction, WPD, the Power plant
capacity, AEP (Annual Energy Production), CUF (Capacity Utilization Factor) and total
energy production for 25 years (lifetime of the plant) with a degradation factor could also be
calculated.

4.2.3 GRAPH MODULE

• This module is used to show the power potential in a graph for every month in a calendar
year. This allows the user to get a quick estimate of what a wind turbine installation would
save on a monthly basis. This type of financial calculations allows the user to view his/her
savings over every month and visualize the “Time value of money” and may persuade
him/her to go for installation.
• The modules involve the fetching of confidential monthly data form a CSV file given by
SRRA. It is of 33.3MB with more the 2 lakh individual rows representing each 3km X 3km
grid point within India and 14 columns for 12 months and 2 for latitude and longitude.
• This data can be fetched using SQLite, an android based database platform and use Google
Charts API to create the bar graph. This data would then be used to calculate the monthly
power generation and the cost of the energy generated for every month.

11
4.2.4 SHARE MODULE

• This module is used to share the estimated resource potential value for friends and family.
This allows the user to compare the different configurations of installation and decide. This
also allows spreading the word about the benefits of solar installation.
• This app would provide a clear advantage over the existing systems as it could easily share
the results in various social media and applications. The best Google maps services along
with high quality SRRA sourced data and latest android-based visualization techniques are
used to generate the results.
• The app would allow the user to share his/her results in a PDF format or as CSV file format.

12
CHAPTER – 5
SYSTEM REQUIREMENT

5.1 HARDWARE REQUIREMENTS

The hardware requirements may serve as the basis for a contract for the
implementation of the system and should therefore be a complete and consistent
specification of the whole system. They are used by software engineers as the starting
point for the system design. It shows what the systems do and not how it should be
implemented.
 SMARTPHONE : Android or iPhone
 DATA CONNECTION
 RAM SIZE : 1 GB
 GPS LOCATOR

5.2 SOFTWARE REQUIREMENTS

The software requirements are the specification of the system. It should include
both a definition and a specification of requirements. It is a set of what the system should
do rather than how it should do it. The software requirements provide a basis for creating
the software requirements specification. It is useful in estimating cost, planning team
activities, performing tasks and tracking the teams and tracking the team’s progress
throughout the development activity.
FOR BUILDING THE APP
 ANDROID STUDIO
 JAVA DEVELOPMENT KIT 1.7+
 GIT FOR WINDOWS
 SQLite

5.3 FUNCTIONAL REQUIREMENTS

A functional requirement defines a function of a software system or its


component. A function is described as a set of inputs, the behavior, and outputs.
Functional requirements may be calculations, technical details, data manipulation and
processing and other specific functionality that define what a system is supposed to
accomplish. Behavioral requirements describing all the cases where the system uses the
functional requirements are captured in use cases. Functional requirements are supported
13
by non-functional requirements, which impose constraints on the design or
implementation. The plan for implementing functional requirements is detailed in the
system design.

5.4 NON - FUNCTIONAL REQUIREMENTS

A non-functional requirement is a requirement that specifies criteria that can be


used to judge the operation of a system, rather than specific behaviors. This should be
contrasted with functional requirements that define specific behavior or functions. Non-
functional requirements are often called qualities of a system. Other terms for non-
functional requirements are "constraints", "quality attributes", "quality goals", "quality of
service requirements" and "non- behavioral requirements"
Non-functional requirements can be divided into two main categories:

1. Execution qualities
2. Evolution qualities

14
CHAPTER – 6
SOFTWARE DESCRIPTION

6.1 SERVER

Fig. 10: Server approach

The data shown in the app are directly fetched from the servers on NIWE (National Institute of
Wind Energy). Even for calculations, inputs are taken from the user and then the data is passed on
to the servers. Calculations are done via controllers and output will be shown.

6.2 DATA FLOW

The data flow goes in all direction. When the wind flows, the blades of wind turbines move.
It creates the kinetic energy. The meter regulates the movement which is then sent to gear system
and coupling. The generator is used which is a source Power grid.
The whole process is controlled by controller.

15
Fig. 11: Data flow

16
CHAPTER – 7
SYSTEM IMPLEMENTATION

7.1 SYSTEM TESTING

System testing is the stage of implementation, which is aimed at ensuring that the system
works accurately and efficiently before live operation commences. Testing is vital to the success of
the system. An elaborate testing of data is prepared and the system is tested using this test data.
Users are trained to operate the developed system. Both hardware and software securities are made to
run the developed system successfully in future.

Testing steps:
 Unit testing
 Integration testing
 Validation testing
 Output testing

7.1.1 UNIT TESTING


Unit testing focuses verification efforts on the smallest unit of software
design and the module. This is also known as “Module Testing”. The modules are tested
separately. This testing is carried out during programming stage itself. In this testing step
each Module is found to be working satisfactorily as regard to the expected output from
the module.

7.1.2 INTEGRATION TESTING


Integration testing is a systematic technique for constructing tests to
uncover errors associated within the interface. In this project, all the modules are
combined, and then the entire Program is tested as a whole. Thus, in the integration testing
step, all the errors uncovered are corrected for the next testing steps.

7.1.3 VALIDATION TESTING


Validation testing is the testing where requirements are established as a
part of software requirement analysis is validated against the software that has been
constructed. This test provides the final assurance that the software meets all functional,
behavioral and performance requirements. The errors, which are uncovered during
integration testing, are corrected during this phase.

17
7.1.4 OUTPUT TESTING
After performing the validation testing, the next step is output testing
of the proposed system since no system could be useful if it does not produce the required
output in the specific format. The Output generated or displayed by the system under
consideration is tested asking the users about the format required by then. Here, the output
is considered into two ways: one is on the screen and the other is in a printed format.
The output format on the screen is found to be correct as the format
designed according to the user needs. For the hard copy, also; the output comes out as
specified by the user. Hence output testing doesn’t result in any connection in the system.

7.2 SYSTEM IMPLEMENTATION


The System implementation phase consists of the following steps:
 Testing the developed software with sample data.

 Correction of any errors if identified.

 Creating the files of the system with actual data.

 Making necessary changes to the system to find out errors.

 Training of user personnel.

The system has been tested with sample data, changes are made to the user
requirements and run in parallel with the existing system to find out the discrepancies. The
user has also been appraised how to run the system during the training period.
This phase is primarily concerned with user training, site preparation and file
conversions. During the final testing, user acceptance is tested, followed by user training.
Depending in the nature of the extensive user training may be required.
After development and testing has been completed, implementation of the
information system can begin. During system implementation, the project team should be
brought back to full strength.
During software development stage, project teams end to play passive role as the
technical steps of program development and testing evolve.
However, broad organizational representation, accomplished through the project
team, is required to complete the system development cycle has offer very efficient yet
simple implementation techniques for development of the project.

18
CHAPTER – 8
SAMPLE CODING

MANIFEST
<?xml version="1.0" encoding="UTF-8"?>
<manifest package="niwe.swurja" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application android:theme="@style/AppTheme" android:supportsRtl="true"
android:roundIcon="@mipmap/ic_launcher" android:label="@string/app_name"
android:icon="@mipmap/ic_launcher" android:allowBackup="true">
<provider android:name="android.support.v4.content.FileProvider" android:grantUriPermissions="true"
android:exported="false" android:authorities="niwe.swurja.fileprovider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_path"/>
</provider>
<activity android:name=".SplashScreen" android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".HomeScreenActivity" android:theme="@style/AppTheme.NoActionBar"/>
<activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar"/>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyAk3kkLT5XCw1gX-Y_3uRHEWX1lr-0q1hs"/>
<activity android:name=".activity.MapsActivity" android:theme="@style/SecondaryAppTheme"/>
<activity android:name=".activity.SolarAEPCalculatorActivity"
android:theme="@style/SecondaryAppTheme" android:label="AEP Calculator"/>
<activity android:name=".activity.SolarAEPResultActivity"
android:theme="@style/SecondaryAppTheme" android:label="Results"/>
<activity android:name=".activity.AboutActivity" android:theme="@style/SecondaryAppTheme"
android:label="@string/about"/>
</application>
</manifest>

MENU
<?xml version="1.0"?>
<menu tools:context="niwe.swurja.activity.MainActivity"
xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

19
<item android:title="@string/action_settings" app:showAsAction="never" android:orderInCategory="100"
android:id="@+id/action_settings"/>
</menu>

NAVIGATION
<?xml version="1.0" encoding="UTF-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/wind" android:icon="@drawable/ic_action_wind"
android:id="@+id/nav_wind"/>
<item android:title="@string/solar" android:icon="@drawable/ic_action_solar"
android:id="@+id/nav_solar"/>
<item android:title="@string/hybrid" android:icon="@drawable/ic_action_hybrid"
android:id="@+id/nav_hybrid"/>
<item android:title="@string/about" android:icon="@drawable/ic_action_about"
android:id="@+id/nav_about"/>
</menu>

MAPS
<?xml version="1.0" encoding="UTF-8"?>
<android.support.constraint.ConstraintLayout tools:context="niwe.swurja.activity.MapsActivity"
android:layout_height="match_parent" android:layout_width="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<fragment tools:context=".activity.MapsActivity" android:layout_height="0dp"
android:layout_width="0dp" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/area_value"
android:layout_alignParentStart="true" android:layout_above="@+id/submit_btn"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"/>
<android.support.constraint.ConstraintLayout android:layout_height="wrap_content"
android:layout_width="match_parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/constraint_layout" android:background="@android:color/white"
android:layout_margin="8dp">
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
android:id="@+id/previous_btn" android:src="@drawable/ic_action_back"
android:padding="8dp" android:foreground="?selectableItemBackground"
android:focusable="true" android:clickable="true"/>
<fragment android:layout_height="46dp" android:layout_width="0dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_alignParentStart="true"
20
android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
android:id="@+id/place_autocomplete_fragment"
app:layout_constraintStart_toEndOf="@+id/previous_btn"/>
</android.support.constraint.ConstraintLayout>
<android.support.design.widget.FloatingActionButton android:layout_height="wrap_content"
android:layout_width="wrap_content" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/area_value" android:id="@+id/refresh_btn"
android:src="@drawable/ic_action_refresh" android:layout_marginEnd="12dp"
android:layout_marginBottom="100dp" android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" app:fabSize="mini"/>
<TextView android:layout_height="wrap_content" android:layout_width="match_parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/submit_btn"
android:layout_above="@id/submit_btn" android:id="@+id/area_value"
android:background="@android:color/white" android:layout_marginEnd="8dp"
android:layout_alignParentBottom="true" android:gravity="center" android:textStyle="bold"
android:text="Zoom in and pin area for solar AEP" android:layout_marginStart="8dp"
android:layout_centerHorizontal="true"/>
<Button android:layout_height="wrap_content" android:layout_width="match_parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/submit_btn" android:padding="20dp"
android:layout_alignParentBottom="true" android:text="@string/calculate"
android:layout_centerHorizontal="true" app:layout_constraintBottom_toBottomOf="parent"
android:minWidth="0dp" android:minHeight="0dp"
style="@style/Widget.AppCompat.Button.Colored"/>
</android.support.constraint.ConstraintLayout>

TOOLBAR
<?xml version="1.0" encoding="UTF-8"?>
<android.support.v7.widget.Toolbar android:background="@android:color/white"
app:contentInsetStart="0dp" app:contentInsetLeft="0dp" android:elevation="5dp"
android:layout_height="?actionBarSize" android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.constraint.ConstraintLayout android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView android:layout_height="50dp" android:layout_width="60dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/niwe"
android:layout_marginStart="8dp"/>
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/swurja_logo"

21
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp"/>
<ImageView android:layout_height="50dp" android:layout_width="60dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/mnre_grey" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp"/>
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.Toolbar>

CALCULATIONS
<?xml version="1.0" encoding="UTF-8"?>
<android.support.constraint.ConstraintLayout android:layout_height="match_parent"
android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.design.widget.TextInputLayout android:layout_height="wrap_content"
android:layout_width="0dp" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="8dp" android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" android:id="@+id/textInputLayout2">
<android.support.design.widget.TextInputEditText android:layout_height="wrap_content"
android:layout_width="match_parent" android:id="@+id/latitude"
android:inputType="numberDecimal" android:hint="@string/latitude"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout android:layout_height="wrap_content"
android:layout_width="0dp" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="8dp"
android:layout_marginStart="8dp" android:layout_marginEnd="8dp"
android:id="@+id/textInputLayout3"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout2">
<android.support.design.widget.TextInputEditText android:layout_height="wrap_content"
android:layout_width="match_parent" android:id="@+id/longitude"
android:inputType="numberDecimal" android:hint="@string/longitude"/>
</android.support.design.widget.TextInputLayout>
<Button android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="8dp" android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" android:id="@+id/fetch_btn"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout3"
android:textColor="@color/colorAccent" android:text="@string/fetch"
style="@android:style/Widget.Material.Button.Borderless"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="parent" android:layout_marginTop="8dp"

22
android:layout_marginStart="8dp" android:id="@+id/textView9"
app:layout_constraintTop_toBottomOf="@+id/fetch_btn"
android:textColor="@android:color/black" android:text="@string/gti_value"
android:textSize="18sp"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="8dp"
android:layout_marginEnd="8dp" android:id="@+id/gti_value"
app:layout_constraintTop_toBottomOf="@+id/fetch_btn"
android:textColor="@android:color/black" android:text="0.0" android:textSize="18sp"/>
<android.support.design.widget.TextInputLayout android:layout_height="wrap_content"
android:layout_width="0dp" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="8dp"
android:layout_marginStart="8dp" android:layout_marginEnd="8dp"
android:id="@+id/textInputLayout4"
app:layout_constraintTop_toBottomOf="@+id/textView9">
<android.support.design.widget.TextInputEditText android:layout_height="wrap_content"
android:layout_width="match_parent" android:id="@+id/area"
android:inputType="numberDecimal" android:hint="@string/area"/>
</android.support.design.widget.TextInputLayout>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="parent" android:layout_marginTop="8dp"
android:layout_marginStart="8dp" android:id="@+id/textView41"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout4" android:text="Select Panel"/>
<Spinner android:layout_height="40dp" android:layout_width="0dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginStart="8dp" android:layout_marginEnd="8dp"
android:id="@+id/panel_type_spinner"
app:layout_constraintTop_toBottomOf="@+id/textView41"
style="@style/Widget.AppCompat.Spinner.Underlined"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="parent" android:layout_marginTop="8dp"
android:layout_marginStart="8dp" android:id="@+id/textView42"
app:layout_constraintTop_toBottomOf="@+id/panel_type_spinner" android:text="Lifetime of
Plant"/>
<Spinner android:layout_height="40dp" android:layout_width="0dp"
app:layout_constraintStart_toStartOf="parent" android:layout_marginTop="8dp"
android:layout_marginStart="8dp" android:id="@+id/lifetime_spinner"
app:layout_constraintTop_toBottomOf="@+id/textView42"
style="@style/Widget.AppCompat.Spinner.Underlined"
app:layout_constraintEnd_toStartOf="@id/avg_cost"/>
<Button android:layout_height="wrap_content" android:layout_width="0dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/calculate_btn" android:text="@string/calculate"

23
style="@style/Widget.AppCompat.Button.Colored"
app:layout_constraintBottom_toBottomOf="parent"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="@+id/avg_cost" android:layout_marginTop="8dp"
android:id="@+id/textView43"
app:layout_constraintTop_toBottomOf="@+id/panel_type_spinner" android:text="Avg
Electricity Cost(\u20B9/kWh)"/>
<EditText android:layout_height="wrap_content" android:layout_width="0dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="4dp"
android:layout_marginStart="8dp" android:layout_marginEnd="8dp" android:id="@+id/avg_cost"
android:inputType="numberDecimal"app:layout_constraintTop_toBottomOf="@+id/textView43"
app:layout_constraintStart_toEndOf="@+id/lifetime_spinner"/>
</android.support.constraint.ConstraintLayout>

LOCATION
<?xml version="1.0"?>
<resources>
<string name="app_name">SWurja</string>
<string name="action_settings">Settings</string>
<string name="title_activity_maps">Map</string>
<string name="latitude">Latitude</string>
<string name="longitude">Longitude</string>
<string name="fetch">FETCH</string>
<string name="ghi">GHI (kWh/sq.m/year) :</string>
<string name="ghi_value">0.0</string>
<string name="area">AREA (sq.m)</string>
<string name="panel">PANEL :</string>
<string name="calculate">CALCULATE</string>
<string name="results">RESULTS</string>
<string name="power_plant_capacity">Installable Power Plant Capacity (kW):</string>
<string name="power_plant_capacity_value">0.0</string>
<string name="kwh_sq_m_year">(kWh/year)</string>
<string name="annual_energy_production">Annual Energy Production (kWh/year):</string>
<string name="aep_value">0.0</string>
<string name="total_energy_generated_in_25_years">Total Energy Generated in 25 years (kWh)
:</string>
<string name="total_energy_generated_25_year_value">0.0</string>
<string name="financial_savings">Financial Savings (₹):</string>
<string name="financial_savings_value">0.0</string>
<string name="capacity_utilization_factor">Capacity Utilization Factor (%):</string>
<string name="cuf_value">0.0</string>
<string name="exceedence_probability">Probability Exceedence</string>
<string name="p50_kwh_sq_m_year">P50 (kWh/sq.m/year) :</string>
<string name="P50_value">0.0</string>
24
<string name="p70_kwh_sq_m_year">P70 (kWh/sq.m/year) :</string>
<string name="P70_value">0.0</string>
<string name="p90_kwh_sq_m_year">P90 (kWh/sq.m/year) :</string>
<string name="P90_value">0.0</string>
<string name="co2_level_mitigated">Greenhouse gases Mitigation (kg):</string>
<string name="co2_level_value">0.0</string>
<string name="position_value">0.0</string>
<string name="infowindow_latitude">Latitude :</string>
<string name="infowindow_latitude_value">0.0</string>
<string name="infowindow_longitude">Longitude :</string>
<string name="infowindow_longitude_value">0.0</string>
<string name="infowindow_state">State :</string>
<string name="infowindow_state_value">____</string>
<string name="infowindow_district">District :</string>
<string name="infowindow_district_value">____</string>
<string name="infowindow_taluk">Taluk :</string>
<string name="infowindow_taluk_value">____</string>
<string name="infowindow_ghi">GHI (kWh/sq.m/year) :</string>
<string name="infowindow_ghi_value">0.0</string>
<string name="infowindow_dhi">DHI (kWh/sq.m/year) :</string>
<string name="infowindow_dhi_value">0.0</string>
<string name="infowindow_dni">DNI (kWh/sq.m/year) :</string>
<string name="infowindow_dni_value">0.0</string>
<string name="infowindow_cuf">CUF (%) :</string>
<string name="infowindow_cuf_value">0.0</string>
<string name="infowindow_locality">Location Data :</string>
<string name="infowindow_locality_values">____</string>
<string name="gti">GTI (kWh/sq.m/year):</string>
<string name="_0_0">0.0</string><string name="zero">0.0</string>
<string name="aep">AEP per MW (kWh):</string>
<string name="out_of_india">Please select an location within India</string>
<string name="location_permission_denied">This app requires location permission. Please try
again and grant access to use the location.</string>
<string name="permission_required_toast">Location permission is required.</string>
<string name="permission_rationale_location">Access to the location service is
required.</string>
<string name="lifetime_of_plant">LIFETIME OF PLANT :</string> <string
name="gti_value">GTI (kWh/sq.m/year) :</string>
<string name="latitude_results">Latitude :</string>
<string name="longitude_results">Longitude :</string>
<string name="locality_results">Location Data :</string>
<string name="empty_string">____</string>
<string name="latitude_results_value">0.0</string>
<string name="longitude_results_value">0.0</string>
25
<string name="gti_kwh_sq_m_year">GTI (kWh/sq.m/year) :</string>
<string name="aep_per_mw_kwh">AEP (kWh/year)</string>
<string name="position">Panel Tilt (°) :</string>
<string name="pdf">PDF</string>
<string name="state">State :</string>
<string name="district">District :</string>
<string name="taluk">Taluk :</string>
<string name="ghi_kwh_sq_m">GHI (kWh/sq.m) :</string>
<string name="pv_module">PV Module :</string>
<string name="azimuth">Azimuth :</string>
<string name="capacity_kw">Capacity (kW) :</string>
<string name="gti_kwh_sq_m">GTI (kWh/sq.m) :</string>
<string name="years_kwh"> (%) :</string>
<string name="longterm_monthly_average_ghi_w_sq_m">Longterm Monthly Average GHI
(W/sq.m)</string><string name="january">January</string>
<string name="march">march</string><string name="april">april</string>
<string name="may">May</string><string name="june">June</string>
<string name="july">July</string><string name="august">August</string>
<string name="september">September</string><string name="october">October</string>
<string name="november">November</string><string name="december">December</string>
<string name="february">February</string><string name="title_home">Home</string>
<string name="solar">Solar</string><string name="wind">Wind</string>
<string name="hybrid">Hybrid</string><string name="more">More</string>
<string name="solar_aep_calculator">Solar AEP Calculator</string>
<string name="about">About</string>
<string name="about_niwe"> National Institute of Wind Energy (NIWE) has been established in
Chennai in the year 1998, as an autonomous R&D institution by the Ministry of New and
Renewable Energy (MNRE), Government of India. It is a knowledge-based institution of high
quality and dedication, offers services and seeks to find complete solutions for the kinds of
difficulties and improvements in the entire spectrum of the wind energy sector by carrying out
further research. It is a young organization peopled with highly experienced professionals with
expertise in all fields that wind turbine technology. It is sure that the centre with its excellent
infrastructure & resource, will support, sustain and achieve high quality in the wind energy domain.
The Centre will also promote expert products and services to other countries too.
</string>
<string name="chennai">Chennai</string>
<string name="an_autonomous_r_n_d_institution_under_mnre">
<![CDATA[(an autonomous R&D Institution under MNRE)]]>
</string>
<string name="national_institute_of_wind_energy">National Institute of Wind Energy</string>
</resources>

26
CHAPTER – 9
OUTPUT SCREENSHOTS

Fig. 12: Welcome screen

Fig. 13: Wind map

27
Fig. 14: Wind data

Fig. 15: Solar map

28
Fig. 16: Area Locator

Fig. 17: Hybrid map

29
Fig. 18: Hybrid data I

Fig. 18: Hybrid data II

30
CHAPTER – 10
CONCLUSION AND FUTURE ENHANCEMENT

10.1 CONCLUSION

The novelty of the app lies in the fact that this platform is ever more mobile and portable. The
ability to calculate the solar potential from a mobile device increases the chances for a person to
prefer solar energy. The project is an application of the opportunistic mobile application technology
by being able to provide solar potential of any given area and also quickly make a rough estimate
on power and cost potential for the same area.
The app also implements the latest android features for easy use and management.

10.2 FUTURE ENHANCEMENT

The future enhancement or work should include the calculation of energy generated by wind miles.
As for now, the data for solar and wind alone is available. Also, further efforts should be made in
order to detect the current location.

31
CHAPTER – 11
REFERENCES

[1] Google Android Documentation https://developer.android.com/index.html


[2] Google Maps Documentation https://developers.google.com/maps/documentation/
[3] PV watts NREL website http://pvwatts.nrel.gov/india/
[4] NIWE SRRA Solar Atlas http://niwe.res.in/
[5] Ministry of Renewable Energy Solar Rooftop calculator https://solarrooftop.gov.in/login
[6] L.K. Wigginton, H. T. Nguyen, J.M. Pearce “Quantifying Rooftop Solar Photovoltaic
Potential for Regional Renewable Energy policy”, Computers, Environment and Urban Systems 34,
(2010)
[7] Pieter Gagnon, Robert Margolis, Jennifer Melius, Caleb Phillips, and Ryan Elmore,
“Rooftop Solar Photovoltaic Technical Potential in the United States: A Detailed Assessment”,
www.nrel.gov/publications, January 2016, https://www.nrel.gov/docs/fy16osti/65298.pdf

32

You might also like