Learning more about exoplanet orbits using orbitize!

Spins! It is a program used in the scientific community to fit directly imaged exoplanet orbits. Sounds great, but what does that mean?

Most of the exoplanets we image are located directly away from their host star, which means they have very long periods. Since we cannot constantly observe these objects, we often get “astrometry” – x and y (or r and  theta If you are working in polar coordinates) the positions relative to the star at each time of observation, along with their uncertainty. An example of an astronomy table is shown in Figure 1.

Figure 1. Table from Bowler et al. 2020 from r and  theta (The separation angle and position (PA)) of the companion star HD 984 is called HD 984 B at different intervals.

Positions are useful to us because we can use them to estimate the orbits of planets in 3D – are the orbits eccentric or more circular? What is the semi-major axis of the orbit? Is it tilted orbit for us here on Earth? Since the live imaging method is relatively new, the community needed open source code that could help us answer these questions and better understand the orbits of these exoplanets. We want to learn more about the orbits of exoplanets because they can tell us a lot about how planetary systems are formed and how they will evolve over time.

Figure 2: The six orbital elements describing a three-dimensional orbit are the semi-major axis (a), eccentricity (e), inclination (1), and ascending node meridian ( Omega), the peristeron argument ( Omega) and the real anomaly ( nu). This diagram has a different reference direction than that used in exoplanet science (our reference direction is usually going up).

Sarah Blunt, a graduate student at Caltech, led an effort to write orbit-friendly code in Python that’s open source and very straightforward to use, called orbitize! (Yes with an exclamation point!). It has since become a standard in the live imaging community for exoplanets. This code allows you to use planet positions to estimate the planet’s orbital parameters, using two main algorithms: Orbits For The Impatient (OFTI) and Markov-Chain Monte Carlo (MCMC). All six orbital parameters are shown in Figure 2.

In today’s post, we’ll learn how to download and use orbit! With the MCMC function to fit the possible orbits of the exoplanets HD 984 B (discovered by Meshkat et al. 2015), as shown in Figure 3. (Note: This tutorial assumes that you have Python 3 installed on your computer, along with the Python NumPy and Matplotlib packages – If you don’t have those installed, please click the links to learn how to install them).

We’ll need to coordinate our astrometry correctly for it to spin! It can be read. Spins! It takes a CSV file (it can be written on Google Sheets or Excel) where the columns, respectively, should be as follows:

  • “Era” – This is the time of your observation of the astrometry, in the modified Julian date (MJD). You can use an online converter to convert our regular dates to MJD.
  • “Object” – This refers to the object for which your astronomy is measured. Here, since we are using the astrometry from the planet, we always put the values ​​”1″ in this angle.
  • “sep” – this is the separation of the body from the host star, in milliseconds (mas).
  • “sep_err” – This is the uncertainty of your object’s separation in mas.
  • “pa” – This is the angle in degrees of your planet’s position.
  • “pa_err” – This is your planet’s uncertainty angle in degrees.

Once the spreadsheet is formatted, you must download it as a CSV file.

Figure 4 shows an example of how this data is formatted, for the HD 984 B. For the convenience of this tutorial, I’ve uploaded this CSV file to GitHub, so you can access it from there by clicking on this link.

Figure 4. Astronomy of HD 984 B that will be used in orbit!

Now that you have the file ready to go, we’ll move on to the Jupyter notebook for the rest of the tutorial.

To access the tutorial on how to download and run orbitize!, please click here!

orbit! The documentation page contains a description of how to use the OFTI algorithm and how to modify the orbit more specifically for your needs. The great thing about open source code is that it allows scientists and developers to contribute using a standardized way of doing scientific research, which is free and publicly available. Hopefully, as we develop our scientific methods and algorithms, we can start using and writing more open source code that is accessible to the public and the community!

Edited by: Jana Stoer

Featured image credit: Orbit! cooperation

About Clarissa Do O

I am a second year Physics graduate student at the University of California, San Diego. I study the orbital dynamics of exoplanets and also work on exoplanet instruments. My current work upgrades the adaptive optics of the Gemini Planet Imager 2.0, a tool intended to directly image and characterize exoplanets.