Skip to main content

Gyrochronology via interpolation of open cluster rotation sequences.

Project description

gyrointerp

Purpose

Observations have shown that stars with the same age and mass can have a wide range of rotation periods. The purpose of this code is to compute the posterior probability for a star's age given its observed rotation period and effective temperature. This is achieved by marginalizing over all possible ages that might explain the observed stellar properties with a parametric model that has been fitted to not only the mean rotation periods, but also the intrinsic scatter in observed open cluster rotation sequences.

Documentation

The documentation is hosted at gyro-interp.readthedocs.io. A minimal example to get you started is below. The method is described in detail in Bouma, Palumbo & Hillenbrand (2023).

Install

Preferred installation method is through PyPI:

pip install gyrointerp

Minimal Examples

Given a star's rotation period, effective temperature, and uncertainties, what is the gyrochronological age posterior over a grid spanning 0 to 2.6 Gyr?

  import numpy as np
  from gyrointerp import gyro_age_posterior

  # units: days
  Prot, Prot_err = 11, 0.2

  # units: kelvin
  Teff, Teff_err = 4500, 100

  # uniformly spaced grid between 0 and 2600 megayears
  age_grid = np.linspace(0, 2600, 500)

  # calculate the age posterior - takes ~30 seconds
  age_posterior = gyro_age_posterior(
      Prot, Teff, Prot_err=Prot_err, Teff_err=Teff_err, age_grid=age_grid
  )

  # calculate dictionary of summary statistics
  from gyrointerp import get_summary_statistics
  result = get_summary_statistics(age_grid, age_posterior)

  print(f"Age = {result['median']} +{result['+1sigma']} -{result['-1sigma']} Myr.")

If you were interested in a slower-rotating star that might be closer to 4 Gyr old, which is the oldest age out to which gyro-interp is calibrated, you could modify the following lines:

  age_grid = np.linspace(0, 5000, 500)

  age_posterior = gyro_age_posterior(
      Prot, Teff, Prot_err=Prot_err, Teff_err=Teff_err, age_grid=age_grid, 
      verbose=False, bounds_error='4gyrextrap'
  )

⚠️ Please do not use this code to try to infer ages of stars older than 4 Gyr. This is gyrochronology by interpolation. The extrapolation model invoked by using bounds_error='4gyrextrap' has no physical content beyond 4 Gyr.

The documentation contains more extensive examples, as well as discussion of important caveats.

Attribution

If you use the code in your work, please reference

@ARTICLE{2023ApJ...947L...3B,
       author = {{Bouma}, Luke G. and {Palumbo}, Elsa K. and {Hillenbrand}, Lynne A.},
        title = "{The Empirical Limits of Gyrochronology}",
      journal = {\apjl},
     keywords = {Stellar ages, Stellar rotation, Field stars, Bayesian statistics, 1581, 1629, 2103, 1900, Astrophysics - Solar and Stellar Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2023,
        month = apr,
       volume = {947},
       number = {1},
          eid = {L3},
        pages = {L3},
          doi = {10.3847/2041-8213/acc589},
archivePrefix = {arXiv},
       eprint = {2303.08830},
 primaryClass = {astro-ph.SR},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2023ApJ...947L...3B},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

If your result is particularly dependent on the rotation data from any one cluster, we also encourage you to refer to the relevant study:

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

gyrointerp-0.4.tar.gz (13.3 MB view details)

Uploaded Source

File details

Details for the file gyrointerp-0.4.tar.gz.

File metadata

  • Download URL: gyrointerp-0.4.tar.gz
  • Upload date:
  • Size: 13.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.8

File hashes

Hashes for gyrointerp-0.4.tar.gz
Algorithm Hash digest
SHA256 aa325129631644ceefdaf8c36924f73e24fa696e597693061725b5ac5245d4e4
MD5 48684b2115e54b213f6d8690e1a09718
BLAKE2b-256 b4c191f125fa22c6c268d65c0cae444f2cb5077886802a8f4178ee6bf70f10b2

See more details on using hashes here.

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