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.4.0.tar.gz (37.5 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.4.0-py2.py3-none-any.whl (44.2 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for exoverses-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b5cdf67bac33b3f9141f8700cfdbd138de00b236b641e713ec6a765fa573432d
MD5 413a1e2031e39be4629c0d26e33a873c
BLAKE2b-256 57c45b85c5376ddc203024dc664a0587948510438b9bc45993ddb288c353b0a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for exoverses-0.4.0.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.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: exoverses-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 44.2 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.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 36e48a7dbc1c3d7775588268892e1a016064164bb0e30f895190520064d88f52
MD5 bad06446629c0972a83b3089c2b7f9b8
BLAKE2b-256 f354bef7df694518177179a434498feffe3873bbe78494016f95db9a35147b1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for exoverses-0.4.0-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