Reimagine Energy Pills #5
SOLAR
PRODUCTION
ANALYSIS WITH
PYTHON
Load solar radiation data from
a publicly accessible database
NSRDB: National Solar Radiation Database
1
Simulate the hourly production
of a single panel with pvlib
250
Energy Produced (Wh)
150
50
0
Jan Apr Jul Oct Dec
2
Calculate the monthly production
for an entire PV system
6000
Energy Produced (kWh)
3000
0
Jan Apr Jul Oct Dec
3
Load consumption data from a
publicly accessible database
on
4
Evaluate how a building’s grid
consumption changes with and
without rooftop PV
Consumption without PV Consumption with PV
14
Energy Consumption (MWh)
10
6
2
Jan Apr Jul Oct Dec
5
Calculate electricity flows
across the year
Grid Consumption Solar Production
Solar Excess
400
Energy (MWh)
200
0
Jan Apr Jul Oct Dec
6
Test the Google Solar API for
roof detection and system
sizing
7
Compare the estimated
production between pvlib and
Google Solar
Google Solar pvlib
Annual Energy Produced (MWh)
6k
3k
0
0 4k 8k 12k
Number of panels
8
Optimize the size of the
rooftop PV system based on the
building’s consumption patterns
Self-consumption Self-sufficiency Annual Return
Ratio Ratio
1
Optimal
size
0.75
0.5
0.25
0
1000 2000 3000 4000 5000
System Size [kWp]
9
Evaluate ROI difference for the
PV system when an energy
conservation measure is
implemented in the building
Self-consumption reduction ROI reduction
-10%
-30%
-50%
1000 2000 3000 4000 5000
System Size [kWp]
10
Analysis of volatile
electricity markets
Jan
Feb
Mar
0.14 Apr
Price [EUR/kWh]
May
0.12
Jun
0.10 Jul
Aug
0.08 Sep
Oct
0.06 Nov
Dec
0.04
Average
0.02 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Hour of the day
11
Average solar production by hour and month
Jan
1000
Feb
Mar
Solar Production (kWh)
800
Apr
May
Jun 600
Jul
Aug 400
Sep
Oct
200
Nov
Dec
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0
Average electricity price by hour and month
Jan 0.18
Feb
0.16
Mar
0.14
Apr
Price (EUR/kWh)
May 0.12
Jun
0.1
Jul
0.08
Aug
Sep 0.06
Oct
0.04
Nov
Dec 0.02
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
12
Curious about the
code?
Find the full
articles on
[Link]
Follow me on LinkedIn
Benedetto Grillone