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.3.1.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exoverses-0.3.1-py2.py3-none-any.whl (35.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file exoverses-0.3.1.tar.gz.

File metadata

  • Download URL: exoverses-0.3.1.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for exoverses-0.3.1.tar.gz
Algorithm Hash digest
SHA256 7a4515a7a3391b156ca5744389acd76d42273135b795da0f101db628393f64f4
MD5 caac93d1d93d24568437b0efee299fc2
BLAKE2b-256 ceadb5cdb915b0c214c537e86e539185900bcf516a7e80a781229f7f21bac96b

See more details on using hashes here.

Provenance

The following attestation bundles were made for exoverses-0.3.1.tar.gz:

Publisher: publish-to-pypi.yml on CoreySpohn/exoverses

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exoverses-0.3.1-py2.py3-none-any.whl.

File metadata

  • Download URL: exoverses-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for exoverses-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1d8f1032f639ff9e2ef93e16e145a76811c217f23d248bc2e4fead6432c03656
MD5 14c344b180891830a7bef5ab30115c0e
BLAKE2b-256 f714b2a4b4c572723b096610dab17730b4afe59d47d2ce6c8208ce9010dac337

See more details on using hashes here.

Provenance

The following attestation bundles were made for exoverses-0.3.1-py2.py3-none-any.whl:

Publisher: publish-to-pypi.yml on CoreySpohn/exoverses

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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