Skip to content

Commit ef2bd81

Browse files
committed
Minor Python optimization a la tracking.singleaxis
1 parent 5fa678a commit ef2bd81

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

pvlib/shading.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,10 +276,13 @@ def projected_solar_zenith_angle(surface_tilt, surface_azimuth,
276276
sx = cosd(solar_apparent_elevation) * sind(solar_azimuth)
277277
sy = cosd(solar_apparent_elevation) * cosd(solar_azimuth)
278278
sz = sind(solar_apparent_elevation)
279-
sx_prime = sx * cosd(surface_azimuth) - sy * sind(surface_azimuth)
279+
cosd_surface_azimuth = cosd(surface_azimuth)
280+
sind_surface_azimuth = sind(surface_azimuth)
281+
sind_surface_tilt = sind(surface_tilt)
282+
sx_prime = sx * cosd_surface_azimuth - sy * sind_surface_azimuth
280283
sz_prime = (
281-
sx * sind(surface_azimuth) * sind(surface_tilt)
282-
+ sy * sind(surface_tilt) * cosd(surface_azimuth)
284+
sx * sind_surface_azimuth * sind_surface_tilt
285+
+ sy * sind_surface_tilt * cosd_surface_azimuth
283286
+ sz * cosd(surface_tilt)
284287
)
285288
theta_T = np.degrees(np.arctan2(sx_prime, sz_prime))

0 commit comments

Comments
 (0)