= 51.6616267
latitude = 8.6013146 longitude
Handout (pvlib)
Potenzialanalyse für Dachflächen-Photovoltaik
Bestrahlungsstärke berechnen mit pvlib
Standort festlegen (Lokalisierung)
Legt die Position der Dachfläche anhand von geografischen Koordinaten fest.
Neigung und Ausrichtung ermitteln
Liest Neigungswinkel und Azimutwinkel aus der gewählten Dachfläche.
= 30
surface_tilt = 90 surface_azimuth
Zeitraum und Zeitzone definieren
Bestimmt Zeitzone und erzeugt eine Zeitreihe für den gewünschten Zeitraum.
from pytz import timezone
from pvlib.location import Location
import pandas as pd
= timezone('Europe/Berlin')
tz = Location(latitude=latitude, longitude=longitude, tz=tz)
location
= '2024-06-01'
start = '2024-06-02'
end = '1h'
freq
= pd.date_range(start=start, end=end, freq=freq, tz=tz, inclusive='left') date_range
Sonnenstand berechnen
Berechnet den Sonnenstand für jede Stunde im angegebenen Zeitraum.
= location.get_solarposition(date_range)
solar_position 5) solar_position.head(
apparent_zenith | zenith | apparent_elevation | elevation | azimuth | equation_of_time | |
---|---|---|---|---|---|---|
2024-06-01 00:00:00+02:00 | 104.024246 | 104.024246 | -14.024246 | -14.024246 | 340.120688 | 2.174048 |
2024-06-01 01:00:00+02:00 | 106.075224 | 106.075224 | -16.075224 | -16.075224 | 354.352129 | 2.167611 |
2024-06-01 02:00:00+02:00 | 105.813555 | 105.813555 | -15.813555 | -15.813555 | 8.799992 | 2.161163 |
2024-06-01 03:00:00+02:00 | 103.265049 | 103.265049 | -13.265049 | -13.265049 | 22.910796 | 2.154702 |
2024-06-01 04:00:00+02:00 | 98.666027 | 98.666027 | -8.666027 | -8.666027 | 36.266856 | 2.148229 |
Bestrahlungsstärke bei klarem Himmel berechnen
Berechnet die Direkt-, Diffus- und Gesamtstrahlung bei klarer Atmosphäre.
= location.get_clearsky(date_range)
clear_sky 5) clear_sky.head(
ghi | dni | dhi | |
---|---|---|---|
2024-06-01 00:00:00+02:00 | 0.0 | 0.0 | 0.0 |
2024-06-01 01:00:00+02:00 | 0.0 | 0.0 | 0.0 |
2024-06-01 02:00:00+02:00 | 0.0 | 0.0 | 0.0 |
2024-06-01 03:00:00+02:00 | 0.0 | 0.0 | 0.0 |
2024-06-01 04:00:00+02:00 | 0.0 | 0.0 | 0.0 |
Globale Bestrahlungsstärke berechnen
Berechnet die Einstrahlung pro
from pvlib.irradiance import get_total_irradiance
= get_total_irradiance(
irradiance =surface_tilt,
surface_tilt=surface_azimuth,
surface_azimuth=clear_sky['dni'],
dni=clear_sky['ghi'],
ghi=clear_sky['dhi'],
dhi=solar_position['zenith'],
solar_zenith=solar_position['azimuth']
solar_azimuth
)5) irradiance.head(
poa_global | poa_direct | poa_diffuse | poa_sky_diffuse | poa_ground_diffuse | |
---|---|---|---|---|---|
2024-06-01 00:00:00+02:00 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
2024-06-01 01:00:00+02:00 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
2024-06-01 02:00:00+02:00 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
2024-06-01 03:00:00+02:00 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
2024-06-01 04:00:00+02:00 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
Tagesleistung berechnen
Ermittelt die Gesamtstrahlung für die Dachfläche in Wattstunden.
= 30
surface_area = irradiance['poa_global'].sum()
energy_per_area = energy_per_area * surface_area
total_energy total_energy
202062.7064577622
Energie in Kilowattstunden umrechnen
Wandelt die Energie in kWh um und rundet sie für die Ausgabe.
= total_energy / 1000
total_energy_kwh print('Tagesleistung:', total_energy_kwh.round(2), 'kWh')
Tagesleistung: 202.06 kWh
Fachbegriffe & Einheiten
Bestrahlungsstärke (engl. Irradiance)
- Definition: Leistung der Sonnenstrahlung pro Fläche, die auf eine Oberfläche trifft
- Einheit: Watt pro Quadratmeter
- Symbol:
- Variable:
irradiance
Bestrahlungsenergie pro Fläche (engl. Solar Energy)
- Definition: Energie, die über einen Zeitraum pro Fläche eintrifft
- Einheit: Wattstunden pro Quadratmeter
- Symbol:
- Variable:
energy_per_area
Bestrahlungsenergie
- Definition: Energie auf Basis der Fläche, die tatsächlich bestrahlt wird
- Einheit: Wattstunden (Wh) oder Kilowattstunden (kWh)
- Symbol:
bzw. - Variable:
total_energy
Wiederverwendung
Zitat
@online{sparmann2025,
author = {Sparmann, Sören},
title = {Handout (pvlib)},
date = {2025-05-30},
url = {https://climate-data-entrepreneurial-club.netlify.app/modul_2/submodules/03_photovoltaik/03_handout.html},
langid = {de}
}