import math


def calc_viz_lim(P):
    """
    Eq. 4.4
    Calculates the visibility limit of the satellite, which is dependent on
    the satellite's altitude.

    Parameters
    ------------
    P : float
        The projection parameter of the satellite

    Returns
    ------------
    ups : float
        The visibility limit of the satellite
    """
    rhs = 1/P
    ups = math.acos(math.radians(rhs))
    return ups