EZPADOVA – A python package that allows you to download PADOVA isochrones directly from their website#
This small package provides a direct interface to the PADOVA/PARSEC isochrone webpage (http://stev.oapd.inaf.it/cgi-bin/cmd). It compiles the URL needed to query the website and retrieves the data into a Python variable.
This package has been tested on Python 3.9, 3.10, 3.11, 3.12, and 3.13 through the GitHub actions CI.
New in version 2.0#
Updated the interface to the new PADOVA website (i.e. >=3.8) [minor changes in the form format from 3.7]
New function
ezpadova.parsec.get_isochrones()
does all the slices directly (combines get_Z_isochrones, get_t_isochrones, and get_one_isochrone which are now deprecated.)ezpadova.parsec.get_isochrones()
handles ranges of ages, log ages, Z, and [M/H] as inputs (see documentation).Most of the code has been rewritten to be more robust and easier to maintain. In particular, the parsing of the online form has been improved.
Many integration tests to keep checking the package interface.
The output format is now a pandas.DataFrame instead of the internal format. (though previous aliases of columns are no longer available)
added
ezpadova.parsec.resample_evolution_label()
function to resample the label into a continuous evolution phase instead of discrete labels.added
ezpadova.interpolate.QuickInterpolator()
to quickly interpolate isochrones over (logage, MH, evolution phase)Documentation has been updated and (hopefully) improved.
Available photometric systems, parameters, and default values: EzPadova configuration file
Installation#
Using pip: Use the –user option if you don’t have permissions to install libraries
pip install git+https://github.com/mfouesneau/ezpadova
Manually:
git clone https://github.com/mfouesneau/ezpadova
cd ezpadova
python -m pip install .
Example Usage#
Since v2.0, ezpadova combines all queries through a single function, ezpadova.parsec.get_isochrones()
.
The following example queries the Padova service to retrieve a set of isochrones spanning ages and metallicities.
import ezpadova
import matplotlib.pyplot as plt
r = ezpadova.get_isochrones(photsys_file='gaiaEDR3', logage=(6, 10, 0.2), MH=(-2, 1, 0.4))
The following example queries the Padova service to retrieve log(age/yr)-space isochrones at solar metallicity and the Gaia eDR3 photometry.
import ezpadova
import matplotlib.pyplot as plt
r = ezpadova.get_isochrones(logage=(6, 7, 0.1), MH=(0, 0, 0), photsys_file='gaiaEDR3')
plt.scatter(r['logTe'], r['logL'], c=r['logAge'], edgecolor='None')
plt.show()