Skip to main content

A unified interface for the various tools that create universes for exoplanet simulations

Project description

exo(planet uni)verses

A python library to create a (relatively) uniform set of objects between tools that generate planetary systems. Currently supports ExoVista and EXOSIMS universes.

Install

Base

pip install exoverses

EXOSIMS support

pip install exoverses[exosims]

ExoVista support

Currently this uses a fork of Exovista, clone it and install it to whatever environment you are using git clone git@github.com:CoreySpohn/ExoVista.git cd ExoVista git checkout pip_support Load whatever environment you are using (e.g. source my_project/.venv/bin/activate for a virtual environment or conda activate my_project for conda) pip install .

Usage

The basic objects are

  • Universe object which holds all the System objects. Each System object has a Star object, a list of Planet objects, and a Disk object (if reading an ExoVista system).

Planet object

The minimum definition of a planet is currently

"t0" - Initial epoch
"a" - Semi-major axis
"e" - Eccentricity
"mass" - Mass
"radius" - Radius
"inc" - Inclination
"W" - Longitude of the ascending node
"w" - Argument of periapsis
"M0" - Mean anomaly at initial epoch
"p" - Geometric albedo

A planet can be created independently with a dictionary of those values

from astropy.time import Time
import astropy.units as u
from exoverses.base.planet import Planet

planet_dict = {
"t0": Time(2000, format='decimalyear'),
"a": 1*u.au,
"e": 0.1,
"mass": 1*u.M_Earth,
"radius": 1*u.R_Earth,
"inc": 90*u.deg,
"W": 1*u.deg,
"w": 1*u.deg,
"M0": 0*u.deg,
"p": 0.3,
}
simple_planet = Planet(planet_dict)

Exovista

from exoverses.exovista.universe import ExovistaUniverse

ev_universe_path = "path/to/exovista/fits/files/"
ev_universe = ExovistaUniverse(ev_universe_path)
ev_universe.systems[0]
> HIP -1	dist:10.0 pc	Type:G2V

Planets:
           K             T    secosw  sesinw                 T_c          a  ...         W    w         M0      t0      mass  radius
0   0.007479     87.969367  0.453459     0.0  2451478.3795736698   0.387099  ...  0.843030  0.0  203.98262  2000.0    0.0553   0.383
1   0.076703    224.235443  0.082300     0.0   2451423.336314871   0.722333  ...  1.338331  0.0  105.29904  2000.0    0.8150   0.949
2   0.077484    365.256410  0.129268     0.0   2451341.772314067   1.000000  ... -0.196535  0.0  111.72499  2000.0    1.0000   1.000
3   0.006867    686.959991  0.305634     0.0  2450809.4793391167   1.523662  ...  0.865309  0.0  305.87478  2000.0    0.1070   0.532
4  10.948237   4333.286713  0.219983     0.0  2446990.8777174116   5.203363  ...  1.755036  0.0  293.84823  2000.0  317.8300  11.209
5   2.448455  10756.199527  0.232703     0.0  2440189.9239725103   9.537070  ...  1.984702  0.0  296.22928  2000.0   95.1600   9.449
6   0.259398  30707.489457  0.217181     0.0   2423941.940415186  19.191264  ...  1.295556  0.0  239.00230  2000.0   14.5400   4.007

[7 rows x 14 columns]

# Alternatively you can create a System object independently
from exoverses.exovista.system import ExovistaSystem
ev_system_path = "path/to/exovista/fits/files/system0.fits"
ev_system = ExovistaSystem(ev_system_path)
ev_system
> HIP -1	dist:10.0 pc	Type:G2V

Planets:
           K             T    secosw  sesinw                 T_c          a  ...         W    w         M0      t0      mass  radius
0   0.007479     87.969367  0.453459     0.0  2451478.3795736698   0.387099  ...  0.843030  0.0  203.98262  2000.0    0.0553   0.383
1   0.076703    224.235443  0.082300     0.0   2451423.336314871   0.722333  ...  1.338331  0.0  105.29904  2000.0    0.8150   0.949
2   0.077484    365.256410  0.129268     0.0   2451341.772314067   1.000000  ... -0.196535  0.0  111.72499  2000.0    1.0000   1.000
3   0.006867    686.959991  0.305634     0.0  2450809.4793391167   1.523662  ...  0.865309  0.0  305.87478  2000.0    0.1070   0.532
4  10.948237   4333.286713  0.219983     0.0  2446990.8777174116   5.203363  ...  1.755036  0.0  293.84823  2000.0  317.8300  11.209
5   2.448455  10756.199527  0.232703     0.0  2440189.9239725103   9.537070  ...  1.984702  0.0  296.22928  2000.0   95.1600   9.449
6   0.259398  30707.489457  0.217181     0.0   2423941.940415186  19.191264  ...  1.295556  0.0  239.00230  2000.0   14.5400   4.007

[7 rows x 14 columns]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exoverses-0.2.2.tar.gz (30.0 kB view hashes)

Uploaded Source

Built Distribution

exoverses-0.2.2-py2.py3-none-any.whl (34.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page