diff --git a/Utilities/Shading.py b/Utilities/Shading.py index ce3480e..58f99cd 100644 --- a/Utilities/Shading.py +++ b/Utilities/Shading.py @@ -151,8 +151,8 @@ def calculate_energy_production_vertical(c): axis_azimuth = 90 morning_shaded_fraction = pvlib.shading.shaded_fraction1d( - solar_zenith=morning_solar_positions["zenith"], - solar_azimuth=morning_solar_positions["azimuth"], + solar_zenith=solar_positions["zenith"], + solar_azimuth=solar_positions["azimuth"], axis_azimuth=axis_azimuth, shaded_row_rotation=shaded_row_rotation, shading_row_rotation=shading_row_rotation, @@ -164,8 +164,8 @@ def calculate_energy_production_vertical(c): morning_shaded_fraction = morning_shaded_fraction * no_of_shaded_rows / no_of_rows afternoon_shaded_fraction = pvlib.shading.shaded_fraction1d( - solar_zenith=afternoon_solar_positions["zenith"], - solar_azimuth=afternoon_solar_positions["azimuth"], + solar_zenith=solar_positions["zenith"], + solar_azimuth=solar_positions["azimuth"], axis_azimuth=axis_azimuth + 180, shaded_row_rotation=shaded_row_rotation, shading_row_rotation=shading_row_rotation, @@ -185,12 +185,12 @@ def calculate_energy_production_vertical(c): poa_front = pvlib.irradiance.get_total_irradiance( surface_tilt=90, surface_azimuth=axis_azimuth, - solar_zenith=morning_solar_positions["zenith"], - solar_azimuth=morning_solar_positions["azimuth"], + solar_zenith=solar_positions["zenith"], + solar_azimuth=solar_positions["azimuth"], dni=clearsky_data["dni"], ghi=clearsky_data["ghi"], dhi=clearsky_data["dhi"], - albedo=0.5, + surface_type="urban", ) # drop rows with poa_global NaN values poa_front = poa_front.dropna(subset=["poa_global"]) @@ -198,12 +198,12 @@ def calculate_energy_production_vertical(c): poa_rear = pvlib.irradiance.get_total_irradiance( surface_tilt=180 - 90, surface_azimuth=axis_azimuth + 180, - solar_zenith=afternoon_solar_positions["zenith"], - solar_azimuth=afternoon_solar_positions["azimuth"], + solar_zenith=solar_positions["zenith"], + solar_azimuth=solar_positions["azimuth"], dni=clearsky_data["dni"], ghi=clearsky_data["ghi"], dhi=clearsky_data["dhi"], - albedo=0.5, + surface_type="urban", ) # drop rows with poa_global NaN values poa_rear = poa_rear.dropna(subset=["poa_global"]) @@ -222,7 +222,7 @@ def calculate_energy_production_vertical(c): energy_front = effective_front * 15 / 60 / 1e3 energy_rear = effective_rear * 15 / 60 / 1e3 - total_hourly_energy_m2 = energy_front.add(energy_rear, fill_value=0) + total_hourly_energy_m2 = energy_front + energy_rear energy_total = total_hourly_energy_m2.sum() logger.info(f"Energy yield calculated: {energy_total} kWh/m2") diff --git a/main.py b/main.py index e399ed0..ec7b992 100644 --- a/main.py +++ b/main.py @@ -30,13 +30,14 @@ logger.info("Configuration loaded successfully.") logger.debug(f"Configuration: {c}") # calculate energy production for horizontal and vertical panels +vertical_energy = calculate_energy_production_vertical(c) +logger.info("Energy production for vertical panels calculated successfully.") +logger.debug(f"Vertical Energy Production: {vertical_energy.sum()}") + horizontal_energy = calculate_energy_production_horizontal(c) logger.info("Energy production for horizontal panels calculated successfully.") logger.debug(f"Horizontal Energy Production: {horizontal_energy.sum()}") -vertical_energy = calculate_energy_production_vertical(c) -logger.info("Energy production for vertical panels calculated successfully.") -logger.debug(f"Vertical Energy Production: {vertical_energy.sum()}") NOVA_scaledown = 0.75