Professional Documents
Culture Documents
Bonafide Certificate: Using Wind, Solar and Hybrid Maps of India" Is The Bonafide
Bonafide Certificate: Using Wind, Solar and Hybrid Maps of India" Is The Bonafide
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
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 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.
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.
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.
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]
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.
3
CHAPTER – 2
LITERATURE SURVEY
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.
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.
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.
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
The NIWE website has the Solar Atlas of India under SRRA section, the website provides
solar data such as
3. DNI (Direct Normal Irradiance) only in MWH for a 3km x 3km area as
standard.
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.
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.
9
CHAPTER – 4
METHODOLOGY AND MODULE DESCRIPTION
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.
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.
• 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.
• 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
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
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
1. Execution qualities
2. Evolution qualities
14
CHAPTER – 6
SOFTWARE DESCRIPTION
6.1 SERVER
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.
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
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
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.
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
27
Fig. 14: Wind data
28
Fig. 16: Area Locator
29
Fig. 18: Hybrid data I
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.
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
32