Join the group

Undergraduate research in the Exoteric Lab

ASU undergraduates work on research projects in the lab, from reducing telescope data to modeling atmospheres. Before you email me, work through the resources below and try the two tasks further down this page.

The tasks show me that you are curious about exoplanet atmospheres and that you can work with the tools we use. Clear reasoning matters more to me than perfect answers, so if you get stuck, tell me where and why.

Start with these resources

  1. Read Sara Seager's book Exoplanet Atmospheres: Physical Processes (Princeton University Press), especially chapters 1 to 3. Reading the entire book is also fine, but not expected.
  2. Watch and practice with the 2023 Sagan Summer Workshop, Characterizing Exoplanet Atmospheres: The Next Twenty Years. The lectures are on the workshop's YouTube channel. The hands-on sessions go from raw JWST data to light curves and spectra with Eureka!, then to models with PICASO and retrievals with petitRADTRANS. Their notebooks also run in Google Colab, so you can start without installing anything.
  3. Install and run the tools from those hands-on sessions on your own computer. If you are curious, you are also welcome to explore POSEIDON and PLATON, two other open-source codes for exoplanet atmospheres, but they are completely optional.
  4. Practice coding. My group uses Python, and there are many free resources online. One that worked for me is José Portilla's Complete Python Bootcamp on Udemy, which I took in 2019. It costs about $30 at the time of writing. I am not asking you to buy it, only sharing an option that helped me.

Two tasks to try before you reach out

Each task takes a few hours, and you can do them in either order and send the results with your email.

Task 1 · about two hours

How big is an atmosphere?

Pick one planet: WASP-39 b, WASP-107 b, K2-18 b or TRAPPIST-1 e. Look up its mass, radius and equilibrium temperature, and the radius of its star, in the NASA Exoplanet Archive.

  1. Compute the planet's surface gravity, g = GM/R2.
  2. Compute the scale height H = kT/(μ mH g) of a hydrogen-rich atmosphere, with a mean molecular weight μ = 2.3 and the equilibrium temperature for T.
  3. Estimate the size of a spectral feature in the transit depth, ΔD ≈ 2NHRp/R*2, where Rp and R* are the radii of the planet and the star, for an atmosphere N = 3 scale heights deep. Give it in parts per million (ppm).
  4. Repeat step 3 for a heavier atmosphere made of water (μ = 18) or nitrogen (μ = 28).
  5. In a review with Sara Seager and colleagues, we adopted a noise floor of 30 ppm for JWST. In two or three sentences, say which of your atmospheres JWST could detect, and why the answer changes from planet to planet.

Send half a page with your numbers, their units and the archive values you used.

Task 2 · about three hours, in Python

Is the bump real?

In a Jupyter or Google Colab notebook:

  1. Make a fake transmission spectrum with 80 wavelengths from 3 to 5 µm and a flat transit depth of 2.1%. Add a Gaussian absorption feature centred at 4.3 µm, with an amplitude of 150 ppm and a width (standard deviation) of 0.1 µm. Then add random Gaussian noise of 50 ppm to every point.
  2. Fit two models with scipy.optimize.curve_fit: a flat line, and a flat line plus a Gaussian.
  3. Compare the fits with χ2 and the Bayesian information criterion, BIC = χ2 + k ln n, where k is the number of free parameters and n the number of points. The model with the lower BIC is preferred.
  4. Repeat with feature amplitudes of 75 ppm and 0 ppm. Run each case 100 times with fresh noise, and count how often the BIC prefers the Gaussian.

Send a link to the notebook on GitHub or Colab, with one plot of the data and both fits, and three to five sentences on when a “detection” like this could fool you.

Going further, optional

Run one of the codes from the Sagan hands-on sessions, or POSEIDON or PLATON, to compute a model transmission spectrum for your planet from Task 1. Change one thing, such as the metallicity or a cloud deck, plot both spectra, and explain the difference in a short paragraph.

How to reach out

Email me at luis.welbanks@asu.edu with “Undergraduate research” and your name in the subject line, and include:

  • your year and major,
  • which of the resources you used, and what you found most interesting,
  • links to your Task 1 write-up and your Task 2 notebook,
  • a sentence or two on your experience with Python,
  • how many hours a week you could spend on research.

Students have joined the group through NASA Space Grant internships and Barrett honors theses. You can meet the current undergraduates on the group page.