Skip to main content

Python package handles the young-stellar-objects isochrones, and one primary goal is to derive the stellar mass and ages from the isochrones.

Project description

ysoisochrone

ysoisochrone is a Python3.8+ package that handles the isochrones for young-stellar-objects. One of the primary goals of this package is to derive the stellar mass and ages from the isochrones.

Contributors

Dingshan Deng (dingshandeng@arizona.edu), The University of Arizona

Ilaria Pascucci, The University of Arizona

Rachel B. Fernandes, The Pennsylvania State University

Luigi Zallio, University of Milan

Min Fang, Purple Mountain Observatory


We thank the referees and editors of AAS, A&A, and JOSS journals for their constructive feedback. Special thanks go to Warrick Ball, Heloise F. Stevance, and Vito Squicciarini for their detailed reviews and suggestions, as well as the anonymous referees whose suggestions greatly enhanced the quality of this package.

Feature

NEW TRACKS AVAILABLE in v1.1.3: Siess et al. (2000); Feiden Magnetic Tracks (Feiden 2016); SPOTS Tracks with different cold photospheric spot coverages (Somers et al. 2020); and Pisa models Tognelli et al. 2011.

  • Derive the stellar masses and ages from the isochrones by:

    • (a) Using the Bayesian inference approach. The required inputs are stellar effective temperature ($T_{\rm eff}$), bolometric luminosity ($L_{\rm bol}$), and their uncertainties.

    • (b) Using the Bayesian inference approach where we do not have a good luminosity measurement. Therefore, we need to assume an age for the target.

The code also includes a stand alone function to estimate the stellar masses and ages from the grid point that has the closest $T_{\rm eff}$ and $L_{\rm bol}$ to the target.

  • Basic plot utils to show Hertzsprung–Russell diagram, Bayesian inference results and others.

Installation

You can easily install the package via

pip install ysoisochrone

Or, you can also install your preferred release by downloading the package release from the GitHub page. Then unzip the package.

In the terminal and in the directory of this package where setup.py exists.

pip install .

Quick Start

A Quick Start Guide is provided as a Jupyter Notebook together with other tutorial Jupyter Notebooks. You can also find these tutorial notebooks in the folder called tutorial_notebooks.

This Guide is also provided in the documentation together with some other detailed explanations.

Citations

If you use ysoisochrone as part of your research, please cite

"Deng et al. (2025), based on the IDL code developed by Pascucci et al. (2016)"

Quick Access to these works, where you can find the definitions of the methods: Deng et al. (2025); Pascucci et al. (2016)

DOI

@article{Deng2025,
doi = {10.21105/joss.07493},
url = {https://doi.org/10.21105/joss.07493},
year = {2025},
publisher = {The Open Journal},
volume = {10},
number = {106},
pages = {7493},
author = {Dingshan Deng and Ilaria Pascucci and Rachel B. Fernandes},
title = {ysoisochrone: A Python package to estimate masses and ages for YSOs},
journal = {Journal of Open Source Software}
}

@article{Pascucci2016,
author = {{Pascucci}, I. and {Testi}, L. and {Herczeg}, G.~J. and {Long}, F. and {Manara}, C.~F. and {Hendler}, N. and {Mulders}, G.~D. and {Krijt}, S. and {Ciesla}, F. and {Henning}, Th. and {Mohanty}, S. and {Drabek-Maunder}, E. and {Apai}, D. and {Sz{\H{u}}cs}, L. and {Sacco}, G. and {Olofsson}, J.},
title = {A Steeper than Linear Disk Mass-Stellar Mass Scaling Relation},
journal = {The Astrophysical Journal},
keywords = {brown dwarfs, protoplanetary disks, stars: pre-main sequence, submillimeter: planetary systems, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Solar and Stellar Astrophysics},
year = 2016,
month = nov,
volume = {831},
number = {2},
eid = {125},
pages = {125},
doi = {10.3847/0004-637X/831/2/125},
archivePrefix = {arXiv},
eprint = {1608.03621},
primaryClass = {astro-ph.EP},
adsurl = {https://ui.adsabs.harvard.edu/abs/2016ApJ...831..125P},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

If you use any stellar evolutionary models, please also refer to their original work/website for citations.

Community Guidelines

We welcome contributions, issue reports, and questions about ysoisochrone! If you encounter a bug or issue, check out the Issues page and provide a report with details about the problem and steps to reproduce it. For general support, usage questions and suggestions, you can start a discussion in Discussions page, and of course feel free to send emails directly to us. If you want to contribute, feel free to fork the repository and create pull requests here. ysoisochrone is licensed under MIT license, so feel free to make use of the source code in any part of your own work/software.

Useful links

There are a few other useful tools and packages that can be used to handle stellar evolutionary tracks and to estimate stellar mass and age for pre-main sequence stars. Including:

  • MADYS is Python package that can be used to derive ages and masses for pre-main sequence stars from multi-wavelengths photometric data with the extinction corrected according to extinction maps and laws; and it could ustilize different stellar evolutionary models, including MIST, PARSEC (v1.2 and 2.0), Feiden, Baraffe and many other models for pre-MS or MS stars.

  • isochrones is a Python package that provides interface to access the MIST grids.

  • PARSEC team provides a web interface to access different versions of their tracks together with some useful web-based tools.

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

ysoisochrone-1.1.3.tar.gz (9.1 MB view details)

Uploaded Source

Built Distribution

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

ysoisochrone-1.1.3-py3-none-any.whl (9.1 MB view details)

Uploaded Python 3

File details

Details for the file ysoisochrone-1.1.3.tar.gz.

File metadata

  • Download URL: ysoisochrone-1.1.3.tar.gz
  • Upload date:
  • Size: 9.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for ysoisochrone-1.1.3.tar.gz
Algorithm Hash digest
SHA256 424053dd0c20a469eb754ba59e27bb040775c2791c82b6ffdc60b5ca5187fa60
MD5 5f89043aa4585e23ac33cb1482efeda5
BLAKE2b-256 de1910d93ebe3d6f1c165b33d67de816e61e2519a76b54aa37703d53f3433a5e

See more details on using hashes here.

File details

Details for the file ysoisochrone-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: ysoisochrone-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for ysoisochrone-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 32406977751132cc8e9ae0db0951d8f6ce111ac3a6ce93213e546324a2f85ee1
MD5 a3bd638a2b9e2ecf2428ea08641c1105
BLAKE2b-256 709b9fc5c12018d7eb3ba5249ff755a93ec0fb678883c179970bd7c9ae0e9355

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