Releases: timothydmorton/isochrones
v2.1 -- enabling population generation
The biggest update in this release is the addition of the populations
submodule (thanks to the request by and collaboration of @andersdot), which streamlines simulating observed populations of stars (see docs).
Other minor updates:
- An update to the Gaia bandpasses from https://arxiv.org/abs/1808.02820 (thanks @segasai)
- Updated summary.py (used in
starfit-summarize
) to useBasicStarModel
objects. - Fixed a bug with
.generate()
method that would cause it to hang indefinitely if given an out-of-bounds parameter. - Enabled pre-packaged priors (e.g.,
SalpeterPrior
,ChabrierPrior
,AVPrior
) to receive custom bounds. - Refactored logging (thanks @dfm)
- Enabled
.generate()
to take anall_As
keyword argument, which if true creates columns with specific extinctions in each band (to allow, e.g., for de-reddening a simulated population of stars).
v2.0.1
- Fixed a bug with building the samples dataframes for
BinaryStarModel
andTripleStarModel
. - Add some functionality to write a large number of
star.ini
files at once.
Version 2.0 --- major update
Isochrones 2.0 contains the following major updates and improvements:
- All-new documentation: https://isochrones.readthedocs.io
- Major re-implementation of most of the core objects.
- Grids are now interpolated using "equivalent evolutionary phase," or EEP, which enables fitting evolved stars.
- Two kinds of interpolation grids may be used; either isochrone grids, for which the grid parameters are (EEP, age, [Fe/H]), or evolution track grids, for which the grid parameters are (mass, EEP, [Fe/H]).
- Evolutionary model grid interpolation and bolometric correction interpolation are explicitly separated. The use of bolometric correction grids also means that treatment of extinction is much more accurate than in isochrones v1.x.
- Addition of a new
.generate()
method for the model grids that explicitly allows generation of synthetic stellar properties, as a function of (mass, age, [Fe/H])---even though the properties are interpolated using EEP. - New, faster-fitting
StarModel
objects for simple specialized fitting cases (i.e. single stars and fully blended multiples):SingleStarModel
,BinaryStarModel
, andTripleStarModel
.
If you are upgrading from isochrones 1.x, you will need to delete your ~/.isochrones
(or $ISOCHRONES
) directory to start fresh.
Note that isochrones 2.0 currently implements only the MIST models (and the MIST bolometric correction grids). But hopefully we can incorporate other new models grids soon!
Minor updates
Note, this is the final incremental release of the isochrones v1.x series implementing some very minor fixes/improvements; the next release will be a major release with v2.0 that will bring many changes and improvements.
This incremental release contains the following changes:
- Make
density
an allowed stellar property to work with - Allows
starfit
script to add additional bandpasses to the samples it writes via the--bands
argument - Adds DECam filters to filter list
- Adds TESS & gaia bands to default MIST filters
Fix starfit bug
This release fixes a bug in which photometric bands were sometimes not getting loaded appropriately by starfit
. It also adds a unit test for the starfit
function in starfit.py
.
v1.2: Updating to MIST models v1.1
This release both makes MIST version 1.1 default (notably including the new Gaia G, BP, and RP bands, as well as the TESS bandpass) and simplifies how isochrones
downloads model grids. Before, it had downloaded pre-packaged grids for both Dartmouth and MIST that were gzipped tar files of selected photometric systems. Now, individual tarballs are downloaded as those bands are requested. And if you really want to use MIST 1.0 still, you may still initialize it with a version=1.0
argument. You may also try out a the MIST grids with v/vcrit = 0.4 (rather than the default non-rotating v/vcrit = 0) by initializing your MIST isochrone with the vvcrit=0.4
; e.g. mist = get_ichrone('mist', vvcrit=0.4)
.
When you upgrade to this version, I recommend that you remove your current ~/.isochrones
(or $ISOCHRONES
) directory so you can start fresh and clean. This will clear out all the pre-calculated/formatted HDF grids, so you can be sure of actually using MIST 1.1 instead of reading in the old HDF files.
v1.1.1
Changes/bugfixes
- Makes sure HDF files do not remain open after
StarModel.load_hdf
. - Adds parallax (if present) to the information displayed with
StarModel.print_ascii
. - Adds support of pickling
StarModel
objects. - Corrects bug with
Isochrone
being called with different length arguments. - Includes correct test data to allow unit tests to run.
- Adds Gaia DR2 query support.
Known issues
- Documentation is not yet fully updated.
- Treatment of extinction is still not appropriate for very large bandpasses. Do not fit to Gaia G band.
- Isochrone interpolation is still unreliable for evolved stars, especially with the MIST grid interpolation as currently implemented. Be suspicious if fitting subgiants or giants.
Version 1.1: vespa compatibility; py3; fix dartmouth; better testing
This version will now be compatible with vespa, after vespa's next upgrade.
Also this release fixes a major issue with the dartmouth.tri
file that was breaking with scipy 0.19. Everything should also now be python 3-compatible.
To use 1.1, you will have to delete the dartmouth tables in your .isochrones
(or $ISOCHRONES
) directory, and then let the code re-download them for you.
Documentation has still not been updated, but will be with the next release. This is a functional quick-fix for the major issues, and documentation will follow.
v1.0 Initial release
First release of version 1.0. Significant changes from previous versions.
- MIST models are now available (much broader coverage in mass, age, and metallicity), in addition to Dartmouth.
- Book-keeping is much more organized with the new
ModelGrid
object, which takes the model grids exactly as published and does all the parsing as part of the package. This should make it easier to extend to using other model grids. BinaryStarModel
andTripleStarModel
no longer exist; now you can just provide anN=2
keyword argument toStarModel
.- Support for non-trivial collection of photometric bands for multiple stars: e.g., pair of stars unresolved in 2MASS but resolved in high-resolution imaging.
Isochrone
object can now predictdensity
,nu_max
, anddelta_nu
, to help support transit host stars and asteroseismic stars, where such data is available.
MultiNest fitting; unit tests
Big changes to how StarModel
fits happen now---fitting now defaults to using MultiNest via PyMultiNest. To take advantage of this change, you must install MultiNest and PyMultiNest. If you don't have these packages, you can follow these directions to install them.
MultiNest does a much better job than emcee
of exploring the stellar model parameter space when only photometry is being used as observational constraints, because the posterior can be quite multi-modal. As a result, you must use MultiNest if you want a fair fit when you're just using photometry.
The way to fit a StarModel
now is using the .fit()
method, which will default to .fit_multinest()
if MultiNest is available, and will otherwise default back to using emcee
via .fit_mcmc()
. Please let me know if you have any troubles with this.
The starfit
command-line script should work the same as before; again defaulting to MultiNest if available.
In addition, I have finally included unit tests: type nosetests isochrones
on the command line to run them. If all goes well, everything should be OK.
Another note---- I have also fixed a bug in the dartmouth triangulation file used for interpolation; if you have been using isochrones
before with the Dartmouth grids, you should get an error now when you try to load them, asking you to delete and re-download the dartmouth.tri
file. Again, let me know if you have a problem with this.