Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P-pop

logo.png

P-pop is a Python tool for generating synthetic planet populations. A brief documentation can be found in P-pop/Documentation.pdf.

Installation

Start by cloning the Git repository:

git clone https://github.com/kammerje/P-pop.git

It is highly recommended that you create a unique Conda environment to hold all of the P-pop dependencies:

conda create -n p-pop python=3.9
conda activate p-pop

With the Conda environment created, move to the cloned repository and install the dependencies and P-pop itself:

cd where/you/saved/the/git/repo
pip install -r requirements.txt
pip install -e .

You should now be able to run P-pop:

python P-pop/P-pop.py

This will simulate an example planet population called TestPlanetPopulation.txt. You can then run the script P-pop/TestPlanetPopulation.py as an example of how to read in and work with a P-pop planet population:

python P-pop/TestPlanetPopulation.py

To customize your generated exoplanet population, adapt the script P-pop/P-pop.py according to your wishes. Below you can find a list of the provided star catalogs, planet distributions, and parameter models.

Package content

Available star catalogs:

  • alphaCenA: From Crossfield (2013), but using only the star alpha Cen A from that catalog. Serves as an example for how to select custom subsets of any of the provided star catalogs.
  • CrossfieldBrightSample: From Crossfield (2013).
  • ExoCat1: From Turnbull (2015).
  • HPIC_LTC4_combined: Custom combination of HPIC and LTC4.
  • HPIC: From Tuchow et al. (2024).
  • LTC2: LIFE Target Catalog version 2.
  • LTC3: LIFE Target Catalog version 3 from Quanz et al. (2022).
  • LTC4: LIFE Target Catalog version 4 from Menti et al. (2024).
  • Sun10pc: The Sun located at a distance of 10 pc.

Available planet distributions:

  • Bergsten2022: From Bergsten et al. (2022).
  • Bryson2021Model1Hab2High: From Bryson et al. (2021). Requires unpublished parameter posterior file. Contact Steve Bryson directly to obtain it.
  • Bryson2021Model1Hab2Low: From Bryson et al. (2021). Requires unpublished parameter posterior file. Contact Steve Bryson directly to obtain it.
  • Burke2015: From Burke et al. (2015).
  • Dressing2015: From Dressing et al. (2015).
  • Dressing2015Extrap: From Dressing et al. (2015). Extrapolated out to orbital periods of 400 days.
  • EarthTwin: Simulate an Earth twin (1 Earth radius, 1 Earth insolation) around every star.
  • Fernandes2019Symm: From Fernandes et al. (2019).
  • Fressin2013: From Fressin et al. (2013).
  • HabitableNominal: Simulate a nominal population of habitable zone planets with 0.3 planets/star for AFGK-stars and 0.5 planets/star for M-dwarfs based on a log-normal distribution of planet radius from 0.5-1.5 Earth radii and of planet insolation from 0.35-1.75 Earth insolations.
  • HabitablePessimistic: Simulate a pessimistic population of habitable zone planets with 0.15 planets/star for AFGK-stars and 0.25 planets/star for M-dwarfs based on a log-normal distribution of planet radius from 0.5-1.5 Earth radii and of planet insolation from 0.35-1.75 Earth insolations.
  • Kaminski2025: From Kaminski et al. (2025).
  • Kaminski2025ExtrapLin: From Kaminski et al. (2025). Extrapolated linearly in log-space out to orbital periods of 1000 days and uniformly in log-space down to masses of 0.1 Earth masses.
  • Kaminski2025ExtrapMean: From Kaminski et al. (2025). Extrapolated uniformly in log-space out to orbital periods of 1000 days and uniformly in log-space down to masses of 0.1 Earth masses.
  • SAG13_rv: From Kopparapu et al. (2018). Different implementation using the continuous random variable class from SciPy. Experimental!
  • SAG13: From Kopparapu et al. (2018).
  • SAG13Extrap: From Kopparapu et al. (2018). Extrapolated out to orbital periods of 20000 days.
  • Weiss2018: From Kopparapu et al. (2018), but ensuring the creation of peas-in-a-pod multi-planet systems according to Weiss et al. (2018).
  • Weiss2018KDE: From Kopparapu et al. (2018), but ensuring the creation of peas-in-a-pod multi-planet systems according to Weiss et al. (2018). Different implementation using a kernel density estimation. Experimental!

Available eccentricity models:

  • Circular: Place all planets on circular orbits.

Available orbit models:

  • Quadrature: Place all planets at maximum orbital elongation.
  • Random: Distribute planets randomly on the sphere.

Available mass models:

  • Chen2017: Use Forecaster (Chen & Kipping 2017) to forecast planet masses from planet radii and vice versa.
  • EarthMass: Assign a mass of 1 Earth mass to every planet.

Available albedo models:

  • Constant: Assign a constant Bond albedo of 0.4, geometric visible albedo of 0.3, and geometric mid-infrared albedo of 0.05 to every planet.
  • EarthAlbedo: Assign a constant Bond albedo of 0.306, geometric visible albedo of 0.434, and geometric mid-infrared albedo of 0.05 to every planet.
  • Uniform: Distribute the albedos uniformly with a Bond albedo in [0.0, 0.8), a geometric visible albedo in [0.0, 0.6), and a geometric mid-infrared albedo in [0.0, 0.1).

Available exozodi models:

Available stability models:

  • He2019: From He et al. (2019). Re-draw planets generated in multi-planet systems until mutually stable orbits are found. Note that this alters the original planet radius and orbital period distribution slightly. A summary plot showing the impact of this can be generated.

Available scaling models:

  • BinarySuppression: Suppress the planet occurrence rate around <50 au binaries to 30% of its nominal value according to Kraus et al. (2016).

About

P-pop: A Monte-Carlo tool to simulate exoplanet populations. Published in Kammerer & Quanz (2018).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages