Example #1
0
def _sun_coor(julian):
    """Return the sun's coordinates.

    Parameters
    ----------
    julian : np.ndarray
        1-D array containing Julian times in the J2000 epoch.

    Returns
    -------
    Coordinate
        Coordinate object containing the sun's position.
    """

    ephem = pkg_resources.resource_filename(__name__, '../data/de421.bsp')
    kernal = SPK.open(ephem)

    ssb2sunb = kernal[0, 10].compute(julian)
    ssb2eb = kernal[0, 3].compute(julian)
    eb2e = kernal[3, 399].compute(julian)
    e2sun = (ssb2sunb - ssb2eb - eb2e).T

    SPK.close(kernal)

    sun_coor = Coordinate(e2sun, "gcrs", julian)

    return sun_coor
Example #2
0
 def test_single_position(self):
     kernel = SPK(NAIF_DAF(open('de405.bsp', 'rb')))
     x, y, z = kernel[0,4].compute(2457061.5)
     # Expect rough agreement with a DE430 position from our README:
     self.assertAlmostEqual(x, 2.05700211e+08, delta=2.0)
     self.assertAlmostEqual(y, 4.25141646e+07, delta=2.0)
     self.assertAlmostEqual(z, 1.39379183e+07, delta=2.0)
     kernel.close()