예제 #1
0
 def test_starpv(self):
     ra, dec, pmr, pmd, px, rv, stat = erfa_ufunc.pvstar(self.pv)
     pv, stat = erfa_ufunc.starpv(ra.to(u.deg), dec.to(u.deg), pmr, pmd,
                                  px, rv.to(u.m/u.s))
     assert_array_equal(stat, np.zeros(self.pv.shape, dtype='i4'))
     assert pv.unit == self.pv.unit
     # Roundtrip is not as good as hoped on 32bit, not clear why.
     # But proper motions are ridiculously high...
     assert_quantity_allclose(pv['p'], self.pv['p'], atol=1*u.m, rtol=0)
     assert_quantity_allclose(pv['v'], self.pv['v'], atol=1*u.m/u.s, rtol=0)
예제 #2
0
 def test_pvstar(self):
     ra, dec, pmr, pmd, px, rv, stat = erfa_ufunc.pvstar(self.pv)
     assert_array_equal(stat, np.zeros(self.pv.shape, dtype='i4'))
     assert ra.unit == u.radian
     assert_quantity_allclose(ra, [0, 90] * u.deg)
     assert dec.unit == u.radian
     assert_array_equal(dec.value, np.zeros(self.pv.shape))  # latitude
     assert pmr.unit == u.radian/u.year
     assert_quantity_allclose(pmr, [0.0125, 0.0125]*u.radian/u.day)
     assert pmd.unit == u.radian/u.year
     assert_array_equal(pmd.value, np.zeros(self.pv.shape))
     assert px.unit == u.arcsec
     assert_quantity_allclose(px, 1*u.radian)
     assert rv.unit == u.km / u.s
     assert_array_equal(rv.value, np.zeros(self.pv.shape))