from PyAstronomy import pyasl


def convert2spherical(ra_tle_deg, dec_tle_deg, ra_pipe_deg, dec_pipe_deg):
"""
ra_tle_deg: ra predicted from tle in degree
dec_tle_deg: dec predicted from tle in degree
ra_pipe_deg: observed ra in degree
dec_pipe_deg: observed dec in degree

"""
    ra_tle = np.deg2rad(ra_tle_deg)
    dec_tle = np.deg2rad(dec_tle_deg)
    ra_pipe = np.deg2rad(ra_pipe_deg)
    dec_pipe = np.deg2rad(dec_pipe_deg)
    underroot = np.sin((dec_pipe - dec_tle) / 2.0) ** 2 + np.cos(dec_pipe) * np.cos(
        dec_tle
    ) * np.sin((ra_pipe - ra_tle) / 2.0) * np.sin((ra_pipe - ra_tle) / 2.0)
    diff = np.degrees(2.0 * np.arcsin(np.sqrt(underroot)))
    
    diff_package = pyasl.getAngDist(ra_tle_deg, dec_tle_deg, ra_pipe_deg, dec_pipe_deg)
    
    return diff


