include albedo in vertical panel production calcs
This commit is contained in:
		
							parent
							
								
									bba47e48b7
								
							
						
					
					
						commit
						25b7f5b0d4
					
				| @ -151,8 +151,8 @@ def calculate_energy_production_vertical(c): | |||||||
|     axis_azimuth = 90 |     axis_azimuth = 90 | ||||||
| 
 | 
 | ||||||
|     morning_shaded_fraction = pvlib.shading.shaded_fraction1d( |     morning_shaded_fraction = pvlib.shading.shaded_fraction1d( | ||||||
|         solar_zenith=morning_solar_positions["zenith"], |         solar_zenith=solar_positions["zenith"], | ||||||
|         solar_azimuth=morning_solar_positions["azimuth"], |         solar_azimuth=solar_positions["azimuth"], | ||||||
|         axis_azimuth=axis_azimuth, |         axis_azimuth=axis_azimuth, | ||||||
|         shaded_row_rotation=shaded_row_rotation, |         shaded_row_rotation=shaded_row_rotation, | ||||||
|         shading_row_rotation=shading_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 |     morning_shaded_fraction = morning_shaded_fraction * no_of_shaded_rows / no_of_rows | ||||||
| 
 | 
 | ||||||
|     afternoon_shaded_fraction = pvlib.shading.shaded_fraction1d( |     afternoon_shaded_fraction = pvlib.shading.shaded_fraction1d( | ||||||
|         solar_zenith=afternoon_solar_positions["zenith"], |         solar_zenith=solar_positions["zenith"], | ||||||
|         solar_azimuth=afternoon_solar_positions["azimuth"], |         solar_azimuth=solar_positions["azimuth"], | ||||||
|         axis_azimuth=axis_azimuth + 180, |         axis_azimuth=axis_azimuth + 180, | ||||||
|         shaded_row_rotation=shaded_row_rotation, |         shaded_row_rotation=shaded_row_rotation, | ||||||
|         shading_row_rotation=shading_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( |     poa_front = pvlib.irradiance.get_total_irradiance( | ||||||
|         surface_tilt=90, |         surface_tilt=90, | ||||||
|         surface_azimuth=axis_azimuth, |         surface_azimuth=axis_azimuth, | ||||||
|         solar_zenith=morning_solar_positions["zenith"], |         solar_zenith=solar_positions["zenith"], | ||||||
|         solar_azimuth=morning_solar_positions["azimuth"], |         solar_azimuth=solar_positions["azimuth"], | ||||||
|         dni=clearsky_data["dni"], |         dni=clearsky_data["dni"], | ||||||
|         ghi=clearsky_data["ghi"], |         ghi=clearsky_data["ghi"], | ||||||
|         dhi=clearsky_data["dhi"], |         dhi=clearsky_data["dhi"], | ||||||
|         albedo=0.5, |         surface_type="urban", | ||||||
|     ) |     ) | ||||||
|     # drop rows with poa_global NaN values |     # drop rows with poa_global NaN values | ||||||
|     poa_front = poa_front.dropna(subset=["poa_global"]) |     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( |     poa_rear = pvlib.irradiance.get_total_irradiance( | ||||||
|         surface_tilt=180 - 90, |         surface_tilt=180 - 90, | ||||||
|         surface_azimuth=axis_azimuth + 180, |         surface_azimuth=axis_azimuth + 180, | ||||||
|         solar_zenith=afternoon_solar_positions["zenith"], |         solar_zenith=solar_positions["zenith"], | ||||||
|         solar_azimuth=afternoon_solar_positions["azimuth"], |         solar_azimuth=solar_positions["azimuth"], | ||||||
|         dni=clearsky_data["dni"], |         dni=clearsky_data["dni"], | ||||||
|         ghi=clearsky_data["ghi"], |         ghi=clearsky_data["ghi"], | ||||||
|         dhi=clearsky_data["dhi"], |         dhi=clearsky_data["dhi"], | ||||||
|         albedo=0.5, |         surface_type="urban", | ||||||
|     ) |     ) | ||||||
|     # drop rows with poa_global NaN values |     # drop rows with poa_global NaN values | ||||||
|     poa_rear = poa_rear.dropna(subset=["poa_global"]) |     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_front = effective_front * 15 / 60 / 1e3 | ||||||
|     energy_rear = effective_rear * 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() |     energy_total = total_hourly_energy_m2.sum() | ||||||
|     logger.info(f"Energy yield calculated: {energy_total} kWh/m2") |     logger.info(f"Energy yield calculated: {energy_total} kWh/m2") | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								main.py
									
									
									
									
									
								
							| @ -30,13 +30,14 @@ logger.info("Configuration loaded successfully.") | |||||||
| logger.debug(f"Configuration: {c}") | logger.debug(f"Configuration: {c}") | ||||||
| 
 | 
 | ||||||
| # calculate energy production for horizontal and vertical panels | # 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) | horizontal_energy = calculate_energy_production_horizontal(c) | ||||||
| logger.info("Energy production for horizontal panels calculated successfully.") | logger.info("Energy production for horizontal panels calculated successfully.") | ||||||
| logger.debug(f"Horizontal Energy Production: {horizontal_energy.sum()}") | 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 | NOVA_scaledown = 0.75 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user