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
- Handle different formats of the isochrones from different reference sources. The available evolutionary models include Baraffe et al. (2015), Feiden (2016), and PARSEC (both version 1.2 and 2.0). Other tracks will also be added in the future.
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)
@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:
-
MADYSisPythonpackage 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. -
isochronesis aPythonpackage that provides interface to access the MIST grids. -
PARSECteam provides a web interface to access different versions of their tracks together with some useful web-based tools.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
424053dd0c20a469eb754ba59e27bb040775c2791c82b6ffdc60b5ca5187fa60
|
|
| MD5 |
5f89043aa4585e23ac33cb1482efeda5
|
|
| BLAKE2b-256 |
de1910d93ebe3d6f1c165b33d67de816e61e2519a76b54aa37703d53f3433a5e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32406977751132cc8e9ae0db0951d8f6ce111ac3a6ce93213e546324a2f85ee1
|
|
| MD5 |
a3bd638a2b9e2ecf2428ea08641c1105
|
|
| BLAKE2b-256 |
709b9fc5c12018d7eb3ba5249ff755a93ec0fb678883c179970bd7c9ae0e9355
|