예제 #1
0
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)
예제 #2
0
    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')
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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])
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
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)
예제 #10
0
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)
예제 #11
0
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)