CALC_AXIS_TILT

This function computes the inclination of a tracker’s rotation axis when it is installed on a sloped plane.

It uses the slope’s tilt and azimuth along with the tracker’s axis azimuth to determine the effective axis tilt relative to horizontal.

Excel Usage

=CALC_AXIS_TILT(slope_azimuth, slope_tilt, axis_azimuth)
  • slope_azimuth (float, required): Direction of the normal to the slope (degrees).
  • slope_tilt (float, required): Tilt of the slope relative to horizontal (degrees).
  • axis_azimuth (float, required): Direction of the tracker axis on the horizontal plane (degrees).

Returns (float): The axis tilt (degrees), or an error string.

Example 1: Axis tilt on a 10 degree south slope

Inputs:

slope_azimuth slope_tilt axis_azimuth
180 10 180

Excel formula:

=CALC_AXIS_TILT(180, 10, 180)

Expected output:

10

Example 2: Axis tilt on flat terrain

Inputs:

slope_azimuth slope_tilt axis_azimuth
180 0 180

Excel formula:

=CALC_AXIS_TILT(180, 0, 180)

Expected output:

0

Example 3: East-west axis on south-facing slope

Inputs:

slope_azimuth slope_tilt axis_azimuth
180 10 90

Excel formula:

=CALC_AXIS_TILT(180, 10, 90)

Expected output:

6.18618e-16

Example 4: Gentle north slope with north-south axis

Inputs:

slope_azimuth slope_tilt axis_azimuth
0 5 0

Excel formula:

=CALC_AXIS_TILT(0, 5, 0)

Expected output:

5

Python Code

Show Code
from pvlib.tracking import calc_axis_tilt as result_func

def calc_axis_tilt(slope_azimuth, slope_tilt, axis_azimuth):
    """
    Calculate tracker axis tilt on sloped terrain.

    See: https://pvlib-python.readthedocs.io/en/stable/reference/generated/pvlib.tracking.calc_axis_tilt.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        slope_azimuth (float): Direction of the normal to the slope (degrees).
        slope_tilt (float): Tilt of the slope relative to horizontal (degrees).
        axis_azimuth (float): Direction of the tracker axis on the horizontal plane (degrees).

    Returns:
        float: The axis tilt (degrees), or an error string.
    """
    try:
        sa = float(slope_azimuth)
        st = float(slope_tilt)
        aa = float(axis_azimuth)

        res = result_func(
            slope_azimuth=sa,
            slope_tilt=st,
            axis_azimuth=aa
        )

        return float(res)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Direction of the normal to the slope (degrees).
Tilt of the slope relative to horizontal (degrees).
Direction of the tracker axis on the horizontal plane (degrees).