Rooftop PV yield
Problem
We notice in several PyPSA-Eur runs for ongoing projects that PyPSA-Eur favors rooftop solar. There are multiple factors contributing to this, but an important issue here is that model currently uses the same solar profile for both utility-scale and rooftop PV, which is not ideal.
Rooftop PV systems are installed at suboptimal azimuth and tilt angles due to roof orientation, resulting in lower overall generation per MW installed and a flatter generation profile compared to utility-scale PV. NB there also factors like partial shading from buildings or trees, higher operating temperatures (as roofs trap heat), and dust accumulation.
What could be done
To capture profile: We might consider implementing a feature to generate distinct rooftop PV time series (eventually using some heuristics). One potential implementation (w/o deep thought) could be introducing optional randomization in panel slope and azimuth (attributes of Atlite's orientation parameter for PV calculation). For example, assigning azimuth values somewhere in range of S-W/South/S-E orientations and applying some variations in a slope within a reasonable bound.
A key thing upfront is whether a way of constructing smth like an average time-series across N simulations sampling from pseudo-random orientations is a good engineering solution, or a more clever approach exists?
To capture shading/heat/dust: Well, I think one can "downscale" the profile based on some empirically observed average yield disparity.
For context, some empirical data
For example this paper from LUT folks says system-weighted average yield disparity of rooftop VS utility-scale-optimally-tilted panel is at 18%.
a bit surprisingly for me, sub-optimal orientation is less of a contributing factor for residential rooftop than shading (same paper, figure 3):
How to proceed
To move forward, I'd ping @coroa and @FabianHofmann with the following:
- have you seen Atlite-based solutions for rooftop PV? If yes, we may not need to reinvent a wheel.
- If not, do you think the approach described above reasonable? Or you know about any better way to proxy rooftop PV generation?
@Irieo No i have not seen any particular atlite-based solutions for rooftop pv or too many others. Your proposal sounds reasonable, but in tests we did way back, we also saw that different orientations have only very minor effects.
@martavp and her team experimented more with rooftop implementations (like multi-facial panels) and other things. Any cool insights, or papers that you could link here, Marta?
A few inputs from my side:
-
I think the main reason for rooftop solar being favoured is that when adding grid integration cost to utility-scale solar, utility-scale solar becomes more expensive than rooftop solar.
-
Suboptimal orientation is not expected to be a large contributor to reducing generation. You can select an orientation/tilt quite different from the optimal and still maintain 95% of annual CF, see e.g. Fig. 2.16 in the PV textbook
- Constructing an average time-series across N simulations sampling from pseudo-random orientations could be a solution, but I don't think it will have a large impact on the results. Moreover, there is already some averaging taking place by aggregating the ERA5/SARAH grid cells in the region under consideration.
For context, in https://doi.org/10.1002/pip.3126 using a pre-cursor of atlite, I tried assuming a Gaussian distribution of orientation and tilt angles around the optimal values, and compared with historical country-wise generation in summer and winter to estimate the values for $\mu$ and $\sigma$ in the distributions, but it didn't work very well (e.g. I couldn't find that mean tilt value determined with this method correlates with latitude, as I was expecting, Fig. S44). My conclusion from here is that a wide range of $\mu$ and $\sigma$ values create similar aggregated profiles.
-
Agree that shadowing can have a large impact, but it is a very location-specific issue and difficult to represent in aggregated curves (if one wants to implement a more elaborate method than just scaling down the generation profile due to shadowing).
-
The fact that heat dissipation is worse in rooftop PV compared with utility-scale is easy to represent. The temperature coefficient that relates ambient temperature and module temperature can take different values for rooftop and utility-scale solar. This is what is done in the Sandia PV array performance model implemented in pvlib : https://pvlib-python.readthedocs.io/en/v0.7.1/generated/pvlib.temperature.sapm_module.html
-
Finally, I think more important than previous issues is the fact that rooftop PV systems are now installed with a DC-AC ratio between 1.2 and 1.5 (see parallel discussion https://github.com/PyPSA/atlite/issues/228#issuecomment-3126825747)