A project to analyse the best location for solar panels in Mauritius
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This is a project to analyse the best location for solar panels in Mauritius.
The amount of sunlight collected by a PV panel depends on how well the panel orientation matches incoming sunlight. For example, a rooftop array facing West will produce hardly any energy in the morning when the sun is in the East because the panel can only “see” the dim part of the sky away from the sun.
As the sun comes into view and moves towards the center of the panel’s field of view, the panel will collect more and more irradiance. This concept is what defines plane-of-array irradiance – the amount of sunlight available to be collected at a given panel orientation. Like the three “basic” irradiance components, POA irradiance is measured in watts per square meter.
The best orientation for a PV panel is one that maximizes the amount of sunlight it receives.
But how do we define the orientation of a PV panel? The answer is simple: we use the sun’s position in the sky.
- The azimuth is the angle between the sun and the south direction.
- The altitude is the angle between the sun and the horizon.
To find the best location and orientation for solar panels in Mauritius, we need to calculate the plane of array irradiance for each location and orientation. We then find the location and orientation that gives the maximum plane of array irradiance.
GHI, DHI, and DNI are the three “basic” ways of measuring irradiance, although each of them is measured in units of power per area (watts per square meter):
- GHI: Global Horizontal Irradiance; the total sunlight intensity falling on a horizontal plane
- DNI: Direct Normal Irradiance; the subset of sunlight coming directly from the sun
- DHI: Diffuse Horizontal Irradiance; the subset of sunlight falling on a horizontal plane that isn’t coming directly from the sun (e.g., the light that makes the sky blue)
We collected data from the following sources:
- Direct Normal Irradiance (DNI) and Global Horizontal Irradiance (GHI) from CMSAF
The DHI is estimated from the GHI and DNI using the following formula:
DHI = GHI - DNI * cos(zenith angle)
The solar position is the position of the sun in the sky. To calculate the solar position, we need to know the latitude, longitude, and time of the location and also the altitude and temperature of the location but we don't have that data so we will use the default values for now.
For each location, we calculate the solar position and store it in a dataframe with HDF-STORE in data/solar-positions/{latitude}_{longitude}.h5
For each location in Dataset and for each orientation, we calculate the POA irradiance with the perez model from the pvlib library. As the perez model requires the solar position, we use the solar position dataframes we created in the previous step.
The data calculated is too large to store in a single file so we store it in multiple files with netCDF4 in data/poa-irradiance/{tilt}_{azimuth}.nc
To find the best location and orientation for solar panels we need to calculate the transposition factor for each location and orientation. The Transposition Factor is the ratio of the POA irradiance on the plane, to the POA irradiance of a flat panel. I.e. what you gain (or loose) when tilting the collector plane
We can see that when we change the panel orientation we can only gain 1-3% more energy with a fixed panel over the year.
By looking at the irradiance of the best location and orientation, we can see that the best location for solar panels in Mauritius is in the north of the island with a tilt of 21° and an azimuth of 4°.
The location and orientation of the PV panels can be further optimized by taking into account the monthly variation in the amount of sunlight available.
As we can see, the best location and orientation for solar panels in Mauritius changes from month to month. By optimizing the location and orientation of the PV panels for each month, we can gain up to 25% more energy.
The project is divided into 2 parts:
- data-collection and data-analysis
- data-visualization
The data-collection and data-analysis part is in the form of multiple jupyter notebooks in the notebooks' folder. The data-visualization part is in the form of a QT application in the visualization folder.
-
Clone the repo
git clone
-
Download the data The processed data is too large to store in the github repository so you need to download the data from here and put the content of the data folder in the data folder of the project.
-
Install the requirements
pip install -r requirements.txt
-
Run the QT application
python visualization/main.py
In the visualization app you can view the different graphs and maps of the dataset.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'feat: Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Appadoo Apoorva Srinivas - apoorvaappadoo@gmail.com
Project Link: https://github.com/Apoorva64/mauritius-solar-pannel-placement-analysis