Modell funktioniert, Jahr 2019 eingestellt
This commit is contained in:
64
pv_input.py
64
pv_input.py
@@ -39,44 +39,48 @@ 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,
|
||||
modules_per_string=modules_per_string, strings_per_inverter=strings_per_inverter)
|
||||
def create_production_profile():
|
||||
# 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,
|
||||
modules_per_string=modules_per_string, strings_per_inverter=strings_per_inverter)
|
||||
|
||||
modelchain = ModelChain(system, location)
|
||||
modelchain = ModelChain(system, location)
|
||||
|
||||
# Ertragssimulation mit Clear-Sky Modell
|
||||
# Ertragssimulation mit Clear-Sky Modell
|
||||
|
||||
# Index-Spalte mit Zeiten für clear-sky Dataset anlegen
|
||||
# times = pd.date_range(start='2020-01-01', end ='2020-12-31', freq='1h', tz=location.tz)
|
||||
# Index-Spalte mit Zeiten für clear-sky Dataset anlegen
|
||||
# times = pd.date_range(start='2020-01-01', end ='2020-12-31', freq='1h', tz=location.tz)
|
||||
|
||||
# clear_sky = location.get_clearsky(times)
|
||||
# #clear_sky.plot(figsize=(16,9))
|
||||
# clear_sky = location.get_clearsky(times)
|
||||
# #clear_sky.plot(figsize=(16,9))
|
||||
|
||||
# modelchain.run_model(clear_sky)
|
||||
# modelchain.run_model(clear_sky)
|
||||
|
||||
# Ertragssimulation mit realen Strahlungsdaten aus Wetterjahr
|
||||
# Ertragssimulation mit realen Strahlungsdaten aus Wetterjahr
|
||||
|
||||
# Hier ist Süden Azimuth = 0°, bei PVLib ist es 180°
|
||||
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)
|
||||
# Hier ist Süden Azimuth = 0°, bei PVLib ist es 180°
|
||||
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)
|
||||
|
||||
# Notwendige Spalten ausrechnen und hinzufügen, 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']
|
||||
# Notwendige Spalten ausrechnen und hinzufügen, 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']
|
||||
|
||||
# Daten in csv exportieren
|
||||
#poa_data.to_csv('poa_data.csv')
|
||||
# Daten in csv exportieren
|
||||
#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))
|
||||
# Diese Funktion benötigt POA-Daten anstatt g(i)-Daten -> DOKU
|
||||
modelchain.run_model_from_poa(poa_data)
|
||||
# Index des Dataframe mit datetime-Index von Pandas überschreiben
|
||||
poa_data.index = pd.to_datetime((poa_data.index))
|
||||
# Diese Funktion benötigt POA-Daten anstatt g(i)-Daten -> DOKU
|
||||
modelchain.run_model_from_poa(poa_data)
|
||||
|
||||
# Ergebnis plotten
|
||||
modelchain.results.ac.plot(figsize=(16,9))
|
||||
plt.show()
|
||||
# Ergebnis plotten
|
||||
#modelchain.results.ac.plot(figsize=(16,9))
|
||||
#plt.show()
|
||||
|
||||
# Rückgabewert
|
||||
return modelchain.results.ac
|
||||
Reference in New Issue
Block a user