Switching to clean, renewable energy is the need of the hour as climate change is on us. With declining costs of PV panels and governmental incentives, solar energy provides an excellent alternative to grid power, which relies mostly on non-renewable sources for generating electricity.

Image a utopia where almost all homes produce their own energy using rooftop solar installations. Enter Solaropia, an online service to help homeowners to calculate the solar potential of their residence.

Our inspiration behind Solaropia was to aid homeowners in initial diagnostics of their rooftop and educate them about its solar potential. In our prior experience as researcher in the area of renewable grid integration, we found that installing solar panels on roofs can drastically reduce homeowner's dependency on grid electricity. Using this website, we wish to encourage people to adopt solar energy and show them that there is very little to LOSE and everything to GAIN by adopting solar.

What it does

Solarpia provides an interface to users, where they can lookup their homes on Google Maps and using a marker tool can carve out their home (top view). This provides us the true length of the roof. After this our image processing library kicks in to help us in finding the tilt of the roof using Google Street View API.

We tried to reduce the number of inputs provided by the user and provide basic cost and operational characteristics such as number of sunny hours, yearly solar potential (based on solar models), monthly solar capacity, cost savings and payback period. Libraries used to perform the above calculations are described in the next section.

How we built it

We use a lightweight Python web framework (Flask) for building this web application. We use the following libraries to develop this application: For the front end:

  1. Bootstrap: CSS Framework: Our html pages has been designed using their css. However, we had to add our custom css for styling.
  2. jQuery: javascript:
  3. Google Maps and Charts; For the back end:
  4. Python: the entire backend
  5. Geopy - For calculating orientation of the home.
  6. OpenCV: For identifying the tilt of the home
  7. Geocoding: for identifying the location based utility pricing
  8. Pandas: for processing the data from National Solar Radiation Database. (NSRDB)

Challenges we ran into

  1. Parsing the NSRDB - Improving response time of getting the right irradiance model for a location - Pre-computed and cached models for over 1.5k sites in the US for quick calculation of savings, yearly sunshine hours
  2. Image processing - The underlying algorithms for image processing have gone through multiple iterations of improvement in the past 24 hours. This includes identifying the edges of the roof, removing noise by first downsampling the images and doing median blur to maintain edge consistency. We ran hough transform to then detect the lines in the images.
  3. Computing orientation of a house: Orientation of a house provides a great deal of information about the solar potential. We had to iterate over multiple methods before settling down on a technique that worked best for identifying the orientation of homes given its coordinates.

Accomplishments that we're proud of

  1. Design decisions - No compromise on the underlying algorithms and datasets. Used National Solar Radiation Data Base dataset for getting accurate historical weather and solar irradiance models.
  2. UI design: We spent some time fixing the UI so that it looked professional and ready to deployed in a real world environment.
  3. OpenCV libraries: Having little to no background in image processing, we feel that we learnt a great deal and were able to use the APIs to solve our problems.
  4. The end product - We are happy with our end result, and feel that with a little more effort we could actually see people using this web service.
  5. We used real world utility pricing to give an accurate model for our savings.

What we learned

  1. Image processing: Learnt about image processing, how to detect edges and the different scenarios where edge detection can go horribly wrong. We interacted with people who knew about image processing to understand better the underlying concepts.
  2. For an interactive service like ours, we wanted to get quick feedback for our work. HackUMass provided an excellent opportunity for us to interact with people and get their valuable inputs on our work.
  3. Rapid prototyping

What's next for solaropia, an online service to help homeowners calculate the solar potential of their residence.

We plan to release an alpha testing version to improve a few minor bugs that might persist. We also plan to develop a feature where users can provide feedback on our UI and calculations for the limited beta testing phase.

Currently, we only cover US territory as we are restricted by the solar model from NSRDB. In future we plan to leverage similar models for Europe, China, India, Middle-East, Africa and Latin America.

Share this project: