Projet


Projet : Découverte de WASP-80

Ce projet a pour but de mettre en application tout votre nouveau savoir théorique pour l'appliquer à un cas pratique. Nous allons prendre des données réelles de transit, chercher si une planète s'y cache, et le cas échéant, déduire les paramètres de la planète associée, tels que son rayon et sa période. Vous comparerez alors vos résultats à ceux qui ont vraiment étaient publiés par l'équipe de recherche qui a traité ces données il y a quelques années.

Nous allons analyser des données provenant de SuperWASP qui est composé de 8 télescopes de 11cm chacun, ce qui permet de couvrir presque 500 degrés carrés sur le ciel (i.e. la surface d'environ 2500 pleines lunes à chaque prise). Il y a en fait un SuperWASP au Nord (La Palma) et un au Sud (Afrique du Sud) pour pouvoir couvrir tout le ciel (plus de détails ici ).

Voici les données historiques qui ont mené à la première détection de la planète autour de l'étoile WASP-80 en 2013. Dans ce fichier, vous trouverez les mesures photométriques de l'étoile WASP-80 (située dans la constellation de l'Aigle) à différentes dates. Les 3 colonnes indiquent respectivement la date du point photométrique (en BJD pour Barycentric Julian Date, qui donne le jour julien correspondant à l'observation), la magnitude de l'étoile mesurée à cette date, et l'erreur associée sur la magnitude.


WAST-80 : Les données

exerciceExercice

Nous allons utiliser python pour ce mini-projet. Vous pouvez aussi utiliser votre langage de prédilection si Python ressemble à des hiéroglyphes pour vous.

Question 1)

Commencez par charger le fichier wasp80data.txt qui contient les observations de WASP-80 et faites un graphe représentant la magnitude en fonction du temps, avec les barres d'erreurs associées à chaque point. En python, cela donne :

import numpy as np

import matplotlib.pyplot as plt

bjd, mag, err = np.loadtxt("wasp80data.txt", delimiter=' ', skiprows=1, unpack=True)

plt.errorbar(bjd,mag,err)

Question 2)

On pourrait travailler avec les magnitudes, mais il est plus commun de travailler directement en flux. En effet, un transit produit une baisse du flux total qui provient de l'étoile alors que ça provoque une augmentation de la magnitude et donc on ne verrait pas une baisse mais une croissance de la magnitude lors d'un transit en magnitude. Vous pourrez essayer plus loin de suivre la même procédure en travaillant sur les magnitudes (pour constater que l'on arrive aux mêmes résultats) mais pour le moment on travaillera en flux.

Reproduire le même graphique que précédemment en unité de flux

Que voyons-nous ? Est-ce ce à quoi l'on s'attend ? Voyons-nous un transit ? Pas vraiment ! Ça ne ressemble pas exactement aux courbes théoriques que l'on a vues dans le cours avec une belle chute de flux quand la planète passe devant son étoile. Pour cela il va falloir travailler un peu les données.

Un œil averti se rendra compte que ces données on été pré-traitées. On voit que la magnitude oscille autour de zéro, la composante de magnitude due à l'étoile a donc été retirée. On voit aussi que les données semblent suivre une ligne horizontale, sans qu'il y ait de variations linéaires ou polynomiales. En réalité, quand on obtient les données brutes, c'est beaucoup moins propre que cela, et il faut retirer les effets qui ne sont pas dûs au transit mais plutôt à l'observation en tant que telle. Il peut y avoir des déviations du signal dues à l'instrumentation (par exemple à cause de variations thermiques), ou même des variations de l’atmosphère au cours de l'observation. Il y a différentes méthodes pour réajuster les données afin de corriger ces variations qui ne sont pas dues au transit. De manière générale et simplifiée, cela revient à trouver une fonction polynomiale qui suit au mieux les variations à long terme et de retirer cette fonction du signal. On appelle cela le detrending. Les données que l'on traite ici ont déjà subi ce detrending et peuvent être maintenant exploitées pour chercher un transit potentiel et trouver les paramètres de la planète le cas échéant.


WASP-80 : Les transits

exerciceLa recherche des transits

Que faut-il faire pour essayer de voir un transit dans ces données ?

Ici, on a la magnitude (ou le flux) du système en fonction du temps. Pour pouvoir voir un transit, et c'est là toute la puissance de cette méthode de détection, il va falloir sommer les différents transits potentiels qu'il y a dans ces données. Pour cela, il faut trouver la bonne période sur laquelle sommer les données, et peut-être qu'alors avec une somme de plusieurs transits, on verra effectivement une courbe de lumière typique avec une baisse de flux quand la planète passe devant son étoile.

Question 1)

On peut essayer par exemple de sommer les signaux sur une période de 2 jours. En python cela donne :

from PyAstronomy.pyasl import foldAt

best_period=2#jours

phases = foldAt(bjd, best_period)

sortIndi = np.argsort(phases)

phases = phases[sortIndi]*best_period

mag = mag[sortIndi]

plt.plot(phases, mag)

Question 2)

On ne voit toujours rien. Idéalement, il faudrait pouvoir faire cela pour un très grand nombre de périodes et visualiser le résultat jusqu'à l'obtention potentielle d'une baisse de flux à un endroit de la courbe (i.e. voir le transit). C'est la méthode que l'on va utiliser, mais bien sûr, il est impossible de visualiser des millions de courbes à l'oeil et il faut trouver un bon indicateur que l'ordinateur puisse tester lui-même pour nous dire quand il y a effectivement une baisse de flux visible et donc un transit.

La méthode la plus couramment utilisée dans le domaine de la recherche est la méthode BLS (pour Box Least Square, développée par Kovacs et al. 2002). L'idée est de dire qu'un transit peut être en première approximation modélisé par une fonction porte (fonction rectangulaire). Un transit est en effet bien plus proche d'une fonction porte que d'un sinus ou cosinus car les variations lors de l'entrée ou de la sortie du transit qui peuvent être non rectangulaires ne représentent qu'une petite partie du signal et le reste du transit est plutôt plat. La décomposition en série de Fourier ne fournirait pas une fréquence donnée dominante mais plutôt un ensemble de fréquences alors que la fonction porte ne requiert qu'un terme pour bien modéliser le signal, d'où l'avantage.

On crée alors un modèle simple de fonction porte avec trois paramètres : sa profondeur, sa longueur (durée du transit) et sa phase (la date où le transit a lieu). On fait ensuite tourner le modèle sur un très grand nombre de périodes. Pour chaque période testée, l'algorithme BLS essaye de trouver les meilleurs paramètres (profondeur, longueur, phase) du modèle pour expliquer les observations. L'algorithme compare le meilleur modèle aux données et estime alors la vraisemblance (en log) du modèle en question (par exemple par une méthode des moindres carrés) et crée un périodogramme qui donne la vraisemblance du modèle en fonction de la période. On peut alors voir si certaines périodes paraissent plus vraisemblables que d'autres. Les pics dans le périodogramme indiquent la présence de planètes en transit ou du bruit non pris en compte dans le pré-traitement (detrending). Il faut faire attention aux faux-positifs avec cette méthode et les repérer est un champ actif de recherche dans lequel nous ne rentrerons pas en détails.

Trouvez la période du transit et sa profondeur dans les données de WASP-80.

Question 3)

Vérifiez ces valeurs en sommant les données initiales sur la période trouvée et en affichant le flux en fonction de la phase (vous pouvez utiliser le code de la question 1 ci-dessus pour sommer les différents transits sur une période donnée). Vous produirez aussi une deuxième courbe où vous moyennerez le signal dans des bins temporels d'environ 15 minutes pour avoir une courbe de transit plus lisse.

En faisant ce travail , on trouve le diagramme de la figure ci-jointe. :

Flux stellaire
projet/flux.png
Crédit : Q. Kral

Maintenant, on reconnaît une courbe de transit typique. On peut même zoomer sur la phase de transit pour obtenir la figure ci-jointe.

Transit
projet/zoom.png
Crédit : Q. Kral

On voit alors que la durée du transit totale est inférieure à 0.1 jours, i.e. <2.4h. Pour obtenir la courbe rouge rebinnée en python, on peut écrire un code ad hoc ou procéder ainsi :

from scipy.stats import binned_statistic

bin_means = binned_statistic(phases, mag, bins=300)

bin_means2 = binned_statistic(phases, phases, bins=300)

plt.plot(bin_means2[0], bin_means[0],color='red',linewidth=5)


WASP-80 : La planète

exerciceWASP-80 : Les paramètres de la planète

Déduisez maintenant le rayon de la planète et son demi-grand axe.

Question 1)

Il faudra d'abord trouver le rayon de l'étoile WASP-80 afin de pouvoir déterminer le rayon de la planète.

Question 2)

Le calcul du rayon de l'étoile que l'on vient de mener n'est qu'un calcul approximatif etTriaud et al. (2013) sont capable d'estimer ce rayon plus précisément à partir de leur jeu de données, ils trouvent R_e=0.57*R_s, que l'on utilisera par la suite pour comparer à leurs résultats.

Maintenant on peut déduire le rayon de la planète. En supposant que l'orbite est circulaire, on peut aussi déduire facilement son rayon orbitale à partir de la 3ème loi de Kepler

Question 3)

On peut maintenant comparer aux valeurs trouvées dans le papier originel de Triaud et al. (2013) (tableau ci-joint). On voit que nos valeurs pour R_(pla), la période et le demi-grand axe sont très proches des valeurs originelles.

Paramètres du système WASP-80
projet/Triaud2.png
article Triaud et al. 2013

On peut aussi comparer les valeurs trouvées avec celles de l'encyclopédie exoplanet.eu.

Comme vu dans le cours, on peut faire une première vérification pour tester pour un faux positif, en comparant la durée du transit théorique avec sa durée réelle que l'on a obtenue à la question 3 de la page précédente.


WASP-80 : Pour aller plus loin

Pour aller plus loin vous pouvez aussi essayer d'obtenir plus d'informations à partir des données, par exemple en utilisant, au lieu de la fonction porte, un vrai modèle de transit à la Mandel & Agol (2002) pour pouvoir déduire le paramètre d'impact et une possible excentricité en prenant en compte les effets d'assombrissement centre au bord (il y a une fonction python qui implémente ce modèle ).

Ce dossier(une fois décompressé, le fichier readme.txt décrit les différents fichiers) donne un ensemble de données qui permettent de faire d'autres analyses de cette planète:

Au boulot !


Réponses aux exercices

pages_ind-transits/wasp89-donnees.html

Exercice


pages_ind-transits/wasp80-recherche.html

Exercice 'La recherche des transits'


pages_ind-transits/wasp80-planete.html

Exercice 'WASP-80 : Les paramètres de la planète'