def test_annual_parallax(): event = _create_event() parallax_model = ['None', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) positions = parallax.annual_parallax(event.telescopes[0].lightcurve_flux[:,0]) np.allclose(np.array([[-11.99055572, -11.40251147],[ 26.46632345, 25.16787805]]),positions)
def compute_parallax(self, event, parallax): """ Compute and set the deltas_positions attribute due to the parallax. :param object event: a event object. More details in the event module. :param list parallax: a list containing the parallax model and to_par. More details in microlparallax module. """ para = microlparallax.MLParallaxes(event, parallax) para.parallax_combination(self) print('Parallax(' + parallax[0] + ') estimated for the telescope ' + self.name + ': SUCCESS')
def test_terrestrial_parallax(): event = _create_event() parallax_model = ['None', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) positions = parallax.terrestrial_parallax(event.telescopes[0].lightcurve_flux[:,0], 0, 0, 0) np.allclose(np.array([[ -4.68497968e-21, 2.65705901e-21],[ -3.81036079e-05, -4.12319764e-05]]),positions)
def test_space_parallax(): event = _create_event() event.telescopes[0].lightcurve_flux[:,0] = 2458000.5 + event.telescopes[0].lightcurve_flux[:,0] parallax_model = ['None', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) positions = parallax.space_parallax(event.telescopes[0].lightcurve_flux[:,0], 'Kepler', event.telescopes[0]) np.allclose(np.array([[-0.26914499, -0.40329631],[ 0.63675129, 0.93466804]]),positions)
def test_parallax_combination_on_Earth_annual(): event = _create_event() event.telescopes[0].location = 'Earth' parallax_model = ['Annual', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) positions_annual = parallax.annual_parallax(event.telescopes[0].lightcurve_flux[:,0]) parallax.parallax_combination(event.telescopes[0]) np.allclose(positions_annual,event.telescopes[0].deltas_positions)
def test_create_parallax(): event = _create_event() parallax_model = ['None', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) assert parallax.parallax_model == 'None' assert parallax.to_par == 1664.51 np.allclose(parallax.AU, 149597870700) np.allclose(parallax.speed_of_light, 299792458) np.allclose(parallax.Earth_radius, 6378137000) np.allclose(parallax.target_angles_in_the_sky, [np.pi, 2 * np.pi]) np.allclose(parallax.North, [0, 1, 0]) np.allclose(parallax.East, [0, 0, 1])
def test_HJD_to_JD(): event = _create_event() parallax_model = ['None', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) JD = 2455000 MJD = JD- 2400000.5 Sun_angles = slalib.sla_rdplan(MJD,99,0,0) HJD = JD - parallax.AU/parallax.speed_of_light*(np.sin(Sun_angles[1])*np.sin(event.dec*np.pi/180)+ np.cos(Sun_angles[1])*np.cos(event.dec*np.pi/180)* np.cos(event.ra*np.pi/180-Sun_angles[0])) jd = parallax.HJD_to_JD([HJD]) np.allclose(jd,JD)
def test_parallax_combination_on_Space(): event = _create_event() event.telescopes[0].location = 'Space' event.telescopes[0].name = 'Kepler' event.telescopes[0].spacecraft_name = 'Kepler' event.telescopes[0].lightcurve_flux[:,0] = 2458000.5 + event.telescopes[0].lightcurve_flux[:,0] parallax_model = ['Full', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) positions_annual = parallax.annual_parallax(event.telescopes[0].lightcurve_flux[:,0]) positions_space = parallax.space_parallax(event.telescopes[0].lightcurve_flux[:,0], 'Kepler', event.telescopes[0]) parallax.parallax_combination(event.telescopes[0]) np.allclose(positions_annual+positions_space,event.telescopes[0].deltas_positions)
def test_parallax_combination_on_Earth_full(): event = _create_event() event.telescopes[0].location = 'Earth' event.telescopes[0].altitude = 0 event.telescopes[0].longitude = 0 event.telescopes[0].latitude = 0 parallax_model = ['Full', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) positions_annual = parallax.annual_parallax(event.telescopes[0].lightcurve_flux[:,0]) positions_terrestrial = parallax.terrestrial_parallax(event.telescopes[0].lightcurve_flux[:,0], 0, 0, 0) parallax.parallax_combination(event.telescopes[0]) np.allclose(positions_annual+positions_terrestrial,event.telescopes[0].deltas_positions)
def test_compute_parallax_curvature(): event = _create_event() event.telescopes[0].location = 'Earth' event.telescopes[0].altitude = 0 event.telescopes[0].longitude = 0 event.telescopes[0].latitude = 0 parallax_model = ['Full', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) parallax.parallax_combination(event.telescopes[0]) piE = [0.5,0.5] curvature = microlparallax.compute_parallax_curvature(piE,event.telescopes[0].deltas_positions) dtau = piE[0]* event.telescopes[0].deltas_positions[0]+piE[1]* event.telescopes[0].deltas_positions[1] du = piE[1]* event.telescopes[0].deltas_positions[0]-piE[0]* event.telescopes[0].deltas_positions[1] np.allclose([dtau,du],curvature)
def test_HJD_to_JD(): event = _create_event() parallax_model = ['None', 1664.51] parallax = microlparallax.MLParallaxes(event, parallax_model) JD = 2455000 time = Time(JD, format='jd') loc = EarthLocation.of_site('greenwich') angles = get_body('sun', time, loc) Sun_angles = [ angles.ra.value * np.pi / 180, angles.dec.value * np.pi / 180 ] HJD = JD - parallax.AU / parallax.speed_of_light * ( np.sin(Sun_angles[1]) * np.sin(event.dec * np.pi / 180) + np.cos(Sun_angles[1]) * np.cos(event.dec * np.pi / 180) * np.cos(event.ra * np.pi / 180 - Sun_angles[0])) / (24 * 3600) jd = parallax.HJD_to_JD([HJD]) assert np.allclose(jd, JD)