Handout (pvlib)

Potenzialanalyse für Dachflächen-Photovoltaik

Das Handout bietet eine kompakte Referenz zu den wichtigsten Funktionen der Python-Bibliotheken pvlib für die Berechnung der Bestrahlungsstärke einer Dachfläche.
Autor:in
Zugehörigkeit

Sören Sparmann

Universität Paderborn

Veröffentlichungsdatum

30. Mai 2025

PDF

Bestrahlungsstärke berechnen mit pvlib

Standort festlegen (Lokalisierung)

Legt die Position der Dachfläche anhand von geografischen Koordinaten fest.

latitude = 51.6616267
longitude = 8.6013146

Neigung und Ausrichtung ermitteln

Liest Neigungswinkel und Azimutwinkel aus der gewählten Dachfläche.

surface_tilt = 30
surface_azimuth = 90

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

tz = timezone('Europe/Berlin')
location = Location(latitude=latitude, longitude=longitude, tz=tz)

start = '2024-06-01'
end = '2024-06-02'
freq = '1h'

date_range = pd.date_range(start=start, end=end, freq=freq, tz=tz, inclusive='left')

Sonnenstand berechnen

Berechnet den Sonnenstand für jede Stunde im angegebenen Zeitraum.

solar_position = location.get_solarposition(date_range)
solar_position.head(5)
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.

clear_sky = location.get_clearsky(date_range)
clear_sky.head(5)
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 qm2 auf die geneigte Dachfläche mit Ausrichtung.

from pvlib.irradiance import get_total_irradiance

irradiance = get_total_irradiance(
    surface_tilt=surface_tilt,
    surface_azimuth=surface_azimuth,
    dni=clear_sky['dni'],
    ghi=clear_sky['ghi'],
    dhi=clear_sky['dhi'],
    solar_zenith=solar_position['zenith'],
    solar_azimuth=solar_position['azimuth']
)
irradiance.head(5)
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.

surface_area = 30
energy_per_area = irradiance['poa_global'].sum()
total_energy = energy_per_area * surface_area
total_energy
202062.7064577622

Energie in Kilowattstunden umrechnen

Wandelt die Energie in kWh um und rundet sie für die Ausgabe.

total_energy_kwh = total_energy / 1000
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: W/m2
  • Variable: irradiance

Bestrahlungsenergie pro Fläche (engl. Solar Energy)

  • Definition: Energie, die über einen Zeitraum pro Fläche eintrifft
  • Einheit: Wattstunden pro Quadratmeter
  • Symbol: Wh/m2
  • Variable: energy_per_area

Bestrahlungsenergie

  • Definition: Energie auf Basis der Fläche, die tatsächlich bestrahlt wird
  • Einheit: Wattstunden (Wh) oder Kilowattstunden (kWh)
  • Symbol: Wh bzw. kWh
  • Variable: total_energy

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@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}
}
Bitte zitieren Sie diese Arbeit als:
Sparmann, Sören. 2025. “Handout (pvlib).” May 30, 2025. https://climate-data-entrepreneurial-club.netlify.app/modul_2/submodules/03_photovoltaik/03_handout.html.
close all nutshells