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
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()