Skip to main content

Constraining INclinations of Exoplanets and their MAsses by Stability

Project description

CINEMAS :clapper:

Constraining INclinations of Exoplanets and their MAsses by Stability

PyPI version Python 3.10+ License: MIT Ruff

CINEMAS

CINEMAS is a Bayesian framework for constraining the inclinations, and hence the true masses, of exoplanets in compact multi-planet systems detected with the radial velocity (RV) method.

The true mass $M$ of an exoplanet is not measured with the RV method, only the minimum mass $M_{\rm min}=M\sin i$, where $i$ is the (generally unknown) inclination angle. However, if $i$ were too low, this would mean the true masses of the planets ($M_j=M_{{\rm min}, j} / \sin i$) would be so big that the system would be dynamically unstable.

Assuming isotropy, the prior probability distribution on $i$ is $\pi(i)=\sin i$. The probability that a compact system with a given inclination (and hence given masses) is dynamically stable can be calculated quickly using the spock package. CINEMAS uses MCMC to calculate posterior distributions for the inclination, and thus the true masses of these exoplanets in inclined multi-planet systems. The result? Absolute cinema(s).

Installation

Install CINEMAS directly from PyPI:

pip install cinemas

Or, for development, clone the repository and install in editable mode:

git clone https://github.com/xbyrne/cinemas
cd cinemas
pip install -e ".[dev]"

Quickstart

Loading observational data

Observational data is loaded from the NASA Exoplanet Archive, using their TAP service. It is then loaded into a SystemObservations object, which includes all the observational data needed for a prior on the configuration parameters.

import cinemas

# Load observational constraints for a system
catalogue = cinemas.download_multiplanet_systems()
system_obs = cinemas.load_system_observations(
    star_name="Barnard's star",
    exoplanet_catalogue=catalogue
)

Running MCMC sampling

import cinemas

# Run MCMC to constrain the inclination and true masses
samples, tau, acceptance_fraction = cinemas.run_mcmc_sampling(
    system_obs,
    nsteps=5000,
    nwalkers=None  # By default, 2*number of params
)

print(f"Autocorrelation time: {tau}")
print(f"Acceptance fraction: {acceptance_fraction}")

References

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

cinemas-0.3.0.dev0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

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

cinemas-0.3.0.dev0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file cinemas-0.3.0.dev0.tar.gz.

File metadata

  • Download URL: cinemas-0.3.0.dev0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for cinemas-0.3.0.dev0.tar.gz
Algorithm Hash digest
SHA256 2ce5fddaedccaca7ba7b24f04e785664bc25ed673545777b71b00cf432ee1353
MD5 5f8d035f490d2684df51d8135b510063
BLAKE2b-256 214d4a332938f27b4f310967223cbe9e36decfcb225e0b29b1bd2fbcdebe3b7a

See more details on using hashes here.

File details

Details for the file cinemas-0.3.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: cinemas-0.3.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for cinemas-0.3.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 c846801a906958b64557fab0c061282962b9f87d5738585a0f8c041845411eed
MD5 b1aa00f3db7e0e3889d6776108a97424
BLAKE2b-256 d52317ba887d9e8f7a16b0ed30f4138dc22ceaf810436aa3ada2e4fa1d126fe5

See more details on using hashes here.

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