sanity checking pitch values with shadow length calculations
This commit is contained in:
		
							parent
							
								
									2f8f0ab9e9
								
							
						
					
					
						commit
						b570ca824f
					
				| @ -125,6 +125,15 @@ def get_solar_data(c): | |||||||
|     return solar_positions, clearsky_data |     return solar_positions, clearsky_data | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | def sanity_check_minimum_pitch(c): | ||||||
|  |     solar_positions, _ = get_solar_data(c) | ||||||
|  |     zenith = solar_positions["zenith"].values | ||||||
|  |     solar_positions["shadow_length"] = c["panel"]["dimensions"]["length"] * math.tan( | ||||||
|  |         zenith | ||||||
|  |     ) | ||||||
|  |     return solar_positions | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def calculate_energy_production_vertical(c): | def calculate_energy_production_vertical(c): | ||||||
|     c = calculate_required_system_size(c) |     c = calculate_required_system_size(c) | ||||||
|     panel_coordinates, no_of_panels = define_grid_layout(c, panel_tilt=90) |     panel_coordinates, no_of_panels = define_grid_layout(c, panel_tilt=90) | ||||||
|  | |||||||
							
								
								
									
										12
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								main.py
									
									
									
									
									
								
							| @ -6,6 +6,7 @@ import matplotlib.pyplot as pl | |||||||
| from Utilities.Shading import ( | from Utilities.Shading import ( | ||||||
|     calculate_energy_production_horizontal, |     calculate_energy_production_horizontal, | ||||||
|     calculate_energy_production_vertical, |     calculate_energy_production_vertical, | ||||||
|  |     sanity_check_minimum_pitch, | ||||||
| ) | ) | ||||||
| from Utilities.Optimisation import optimise_vertical_panel_pitch | from Utilities.Optimisation import optimise_vertical_panel_pitch | ||||||
| 
 | 
 | ||||||
| @ -58,7 +59,7 @@ logger.info( | |||||||
| logger.info(f"No. of panels for vertical orientation: {int(no_of_panels_vertical)}") | logger.info(f"No. of panels for vertical orientation: {int(no_of_panels_vertical)}") | ||||||
| 
 | 
 | ||||||
| # overlay horizontal and vertical energy production | # overlay horizontal and vertical energy production | ||||||
| pl.figure(figsize=(10, 6)) | pl.subplot(2, 1, 1) | ||||||
| pl.plot( | pl.plot( | ||||||
|     horizontal_energy.index, |     horizontal_energy.index, | ||||||
|     horizontal_energy.values, |     horizontal_energy.values, | ||||||
| @ -69,4 +70,13 @@ pl.title("Energy Production Comparison") | |||||||
| pl.xlabel("Time") | pl.xlabel("Time") | ||||||
| pl.ylabel("Energy Production (kWh)") | pl.ylabel("Energy Production (kWh)") | ||||||
| pl.legend() | pl.legend() | ||||||
|  | 
 | ||||||
|  | solar_positions = sanity_check_minimum_pitch(c) | ||||||
|  | pl.subplot(2, 1, 2) | ||||||
|  | pl.plot(solar_positions.index, solar_positions["shadow_length"], label="Shadow Length") | ||||||
|  | pl.title("Shadow Lengths Throughout the Day") | ||||||
|  | pl.xlabel("Time") | ||||||
|  | pl.ylabel("Shadow Length (m)") | ||||||
|  | pl.legend() | ||||||
|  | 
 | ||||||
| pl.show() | pl.show() | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user