From 047ee6ee0fbea85f46e1aeed2d03b6bd8fb3d315 Mon Sep 17 00:00:00 2001 From: patha Date: Sun, 15 Dec 2024 22:02:41 +0100 Subject: [PATCH] Wetterdaten eingebunden --- pv_input.py | 41 +++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/pv_input.py b/pv_input.py index 7853ddf..851bd23 100644 --- a/pv_input.py +++ b/pv_input.py @@ -6,22 +6,30 @@ from pvlib.location import Location from pvlib.pvsystem import PVSystem from pvlib.temperature import TEMPERATURE_MODEL_PARAMETERS +# Daten Standort latitude = 47.2675 longitude = 11.3910 tz = 'Europe/Vienna' surface_tilt = 0 surface_azimuth = 180 +year = 2019 +# Daten für Datenbank -> Module + WR database_module = pvlib.pvsystem.retrieve_sam('SandiaMod') database_inverter = pvlib.pvsystem.retrieve_sam('CECInverter') - module = database_module['Canadian_Solar_CS5P_220M___2009_'] inverter = database_inverter['ABB__PVI_4_2_OUTD_US__208V_'] + +# PV-Anlage definieren modules_per_string = 10 strings_per_inverter = 2 +surface_tilt = 0 +surface_azimuth = 180 +# Temperaturparameter definieren temperature_parameters = TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_glass'] +# Location+PVSystem-Objekte anlegen und Modelchain damit füttern location = Location(latitude, longitude, tz) system = PVSystem(surface_tilt=surface_tilt, surface_azimuth=surface_azimuth, module_parameters=module, inverter_parameters=inverter, temperature_model_parameters=temperature_parameters, @@ -29,11 +37,32 @@ system = PVSystem(surface_tilt=surface_tilt, surface_azimuth=surface_azimuth, mo modelchain = ModelChain(system, location) -times = pd.date_range(start='2021-07-01', end ='2021-07-07', freq='1min', tz=location.tz) +# Ertragssimulation mit Clear-Sky Modell -clear_sky = location.get_clearsky(times) -#clear_sky.plot(figsize=(16,9)) +# times = pd.date_range(start='2021-07-01', end ='2021-07-07', freq='1h', tz=location.tz) + +# clear_sky = location.get_clearsky(times) +# #clear_sky.plot(figsize=(16,9)) + +# modelchain.run_model(clear_sky) + +# Ertragssimulation mit realen Strahlungsdaten aus Wetterjahr + +# Hier ist Süden Azimuth = 0 +# POA = Plane Of Array +poa_data, meta, inputs = pvlib.iotools.get_pvgis_hourly(latitude=latitude, longitude=longitude, start=year, end=year, raddatabase='PVGIS-SARAH3', components=True, surface_tilt=surface_tilt, + surface_azimuth=surface_azimuth-180, outputformat='json', usehorizon=True, userhorizon=None, pvcalculation=False, peakpower=None, + pvtechchoice='crystSi', mountingplace='free', loss=0, trackingtype=0, optimal_surface_tilt=False, optimalangles=False, + url='https://re.jrc.ec.europa.eu/api/', map_variables=True, timeout=30) +# Spaltennamen umschreiben, sodass Modelchain sie verwenden kann +poa_data['poa_diffuse'] = poa_data['poa_sky_diffuse'] + poa_data['poa_ground_diffuse'] +poa_data['poa_global'] = poa_data['poa_diffuse'] + poa_data['poa_direct'] + +#poa_data.to_csv('poa_data.csv') +#Index des Dataframe mit datetime-Index von Pandas überschreiben +poa_data.index = pd.to_datetime((poa_data.index)) +modelchain.run_model_from_poa(poa_data) + +modelchain.results.ac.plot(figsize=(16,9)) -modelchain.run_model(clear_sky) -modelchain.results.ac.plot(figsize=(16,9)) plt.show() \ No newline at end of file