code: def spherical_angle( ra0, dec0, ra1, dec1, ra2, dec2 ):
      
      
      a = np.deg2rad( angular_distance(ra0, dec0, ra1, dec1))
      b = np.deg2rad( angular_distance(ra0, dec0, ra2, dec2))
      c = np.deg2rad( angular_distance(ra2, dec2, ra1, dec1))
      
      #use the spherical law of cosines: https://en.wikipedia.org/wiki/Spherical_law_of_cosines#Rearrangements
      
      numerator = np.atleast_1d( np.cos(c) - np.cos(a) * np.cos(b) )
      denominator = np.atleast_1d( np.sin(a)*np.sin(b) )
      
      return np.where( denominator == 0 , np.zeros( len(denominator)), np.rad2deg( np.arccos( numerator/denominator)) )
docs: Returns the spherical angle distance between two sets of great circles defined by (ra0, dec0), (ra1, dec1) and (ra0, dec0), (ra2, dec2)
  
      :param ra0: array or float, longitude of intersection point(s)
      :param dec0: array or float, latitude of intersection point(s)
      :param ra1: array or float, longitude of first point(s)
      :param dec1: array or float, latitude of first point(s)
      :param ra2: array or float, longitude of second point(s)
      :param dec2: array or float, latitude of second point(s)
      :return: spherical angle in degrees