def test_empty_positionRms(): ra = np.deg2rad(np.array([])) dec = np.deg2rad(np.array([])) ra_avg = np.mean(ra) dec_avg = np.mean(dec) obs = util.positionRms(ra_avg, dec_avg, ra, dec) assert np.isnan(obs)
def test_wrap_positionRms(): ra = np.deg2rad(np.array([10.0010, 10.0005, 370.0000, 370.0005])) dec = np.deg2rad(np.array([20.001, 20.006, 20.002, 20.004])) ra_avg = np.mean(ra % (2*np.pi)) dec_avg = np.mean(dec) exp = 0.0019488135998463505 * 3600 * 1000 # degrees * arcsec/degree * milliarcsec/arcsec obs = util.positionRms(ra_avg, dec_avg, ra, dec) assert_almost_equal(obs, exp, decimal=7) # 1e-7 rad == 5.73e-6 deg == 36 milliarcsec
def test_south_pole_positionRms(): ra = np.deg2rad(np.array([10.0010, 10.0005, 190.0000, 190.0005])) dec = -np.deg2rad(np.array([89.999, 89.998, 89.999, 89.998])) ra_avg = np.mean(ra) dec_avg = np.mean(dec) exp = 0.0021794464685958273 * 3600 * 1000 # degrees * arcsec/degree * milliarcsec/arcsec obs = util.positionRms(ra_avg, dec_avg, ra, dec) assert_almost_equal(obs, exp, decimal=7) # 1e-7 rad == 5.73e-6 deg == 36 milliarcsec
def test_single_positionRms(): ra = np.deg2rad(np.array([10.0010])) dec = np.deg2rad(np.array([20.001])) ra_avg = np.mean(ra) dec_avg = np.mean(dec) exp = 0 obs = util.positionRms(ra_avg, dec_avg, ra, dec) assert_array_max_ulp(obs, exp)