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
pip install exoverses
Usage
The basic objects are
Universe
object which holds all theSystem
objects. EachSystem
object has aStar
object, a list ofPlanet
objects, and aDisk
object (if reading an ExoVista system).
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]
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)
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.1.tar.gz
(24.8 kB
view hashes)
Built Distribution
Close
Hashes for exoverses-0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dfaef5f9ccbc4d8c1befdcc60348edf9cbc98ed0a8d9e162b8bae391edccc85 |
|
MD5 | f91cf2c661930963a010bb4531d8008c |
|
BLAKE2b-256 | 119e6e3716f4c14b72909eae95663aebc1bb3eeda39c63719325d428c2d199fa |