Skip to content

Planet evolver that takes into account energy-limited photoevaporation, the star's XUV history, and the planet's internal structure

License

Notifications You must be signed in to change notification settings

jorgefz/photoevolver

Repository files navigation

Photoevolver

Jupyter Notebooks Coverage Python Read the paper License

photoevolver is a Python module that simulates the atmospheric escape of extrasolar planets and their evolution.

It can evolve the gaseous atmosphere of a planet backwards and forwards in time, taking into account its internal structure and cooling rate, atmospheric mass loss processes, and the stellar emission history.

Minimal example

import photoevolver as ph
import Mors as mors # For the stellar model
import matplotlib.pyplot as plt

planet = ph.Planet(mass = 5.0, radius = 2.0, period = 5.0)
#                  M_earth,    R_earth,      days

planet.set_models(
    core  = ph.models.core_otegi20,
    env   = ph.models.envelope_chen16,
    mloss = ph.models.massloss_energy_limited,
    star  = mors.Star(Mstar = 1.0, percentile = 50.0)
)

# Returns pandas dataframe
evo = planet.evolve(
    start = 10.0, end = 1000.0, step = 1.0, # Myr
    progressbar = True
)

plt.plot(evo['age'], evo['radius'])
plt.xlabel("Age (Myr)")
plt.ylabel("Radius (Earth radii)")
plt.show()

Check out the folder examples for jupyter notebooks with examples.

Installation

Download and install the repository with pip:

pip install git+https://github.com/jorgefz/photoevolver.git

Install the following dependencies:

numpy
uncertainties
scipy
astropy
pandas
tqdm

Alternatively, run pip install -r requeriments.txt to install them automatically.

Import the module and use it straight away:

>>> import photoevolver as ph

Scientific background

In the past few decades, thousands of extrasolar planets have been discovered. Many of these planets are small, between Earth and Neptune in size, and orbit very close to their stars, well within the orbit of Mercury in the Solar System. As a result, these planets receive large amounts of radiation from their stars, particularly X-rays and UV, which can "erode" the large atmospheres of these planets. Over time, some of these planets can even be completely stripped of their atmospheres, down to barren rocky worlds.

photoevolver simulates the atmospheric escape from these planets across their lifetime and determines whether their atmospheres survive or are completely stripped by radiation from their host star. See Fernández Fernández et al. (2023) for more information.

Credit

This repository uses datasets and models from the following sources:

For the stellar emission history, it is recommended to use the models by Johnstone et al. (2021), which you can install from this GitHub repository.

About

Planet evolver that takes into account energy-limited photoevaporation, the star's XUV history, and the planet's internal structure

Resources

License

Stars

Watchers

Forks

Packages

No packages published