pvlib-python icon indicating copy to clipboard operation
pvlib-python copied to clipboard

Add dual-axis tracker POA transposition function

Open BernatNicolau opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe. There is not an easy way to obtain POA transpositions for dual-axis tracker systems.

Describe the solution you'd like Have a tracking.dualaxis() function.

Describe alternatives you've considered The dual axis should follow the sunposition angles, considering the mechanical tracker limits, and with an angle convention that worked in my case (may not be the best one).

I have found this example but I could not find it in the main code.

Code example with no backtracking but with mechanical limits added

# min_azimuth_limit: lower mechanical limit of azimuth surface angle
# max_azimuth_limit: upper mechanical limit of azimuth surface angle
# min_tilt_limit: lower mechanical limit of tilt surface angle
# max_tilt_limit: upper mechanical limit of tilt surface angle

adjusted_azimuth = solpos["azimuth"].clip(
    lower=min_azimuth_limit + 180,
    upper=max_azimuth_limit + 180,
)
adjusted_tilt = (90 - solpos["elevation"]).clip(
    lower=min_tilt_limit, upper=max_tilt_limit
)

poa = pvlib.irradiance.get_total_irradiance(
    surface_azimuth=adjusted_azimuth,
    surface_tilt=adjusted_tilt,
    ...
)

BernatNicolau avatar Aug 22 '24 16:08 BernatNicolau