This project provides a means to transform MESA history files into a uniform basis for interpolation and then construct new stellar evolution tracks and isochrones from that basis. It is developed in Fortran.
The theory is described in this ApJS paper. You are encouraged to read the paper before attempting to use these programs. If you use these programs in your research, please cite the paper!
(Note: If you already have MESA installed, then you most likely meet all these requirements!)
gitif you want to clone the repository. Alternatively, you can download a zip file from the github page.
maketo handle compilation. make is distributed as a package in Linux distributions and comes as part of the Xcode Command Line Tools in Mac OS X.
The code uses MESA libraries for things like interpolation so you'll need to have MESA installed--at least the utilities and numerical libraries. See here for instructions.
A modern Fortran compiler (but if you have MESA installed already, you'll have it).
In order to identify primary EEPs in MESA history files, several history columns are required:
history_columns.listfile that was used in generating the MESA history files. By default it resides in
$MESA_DIR/star/defaults/history_columns.list. Note that the "official" MIST my_history_columns_[basic|full].list are included in the repository.
Set the environment variable ISO_DIR to the location where you have installed this repository.
Synthetic color-magnitude diagrams require a set of bolometric correction tables. These are available on the MIST project webpage.
It's a simple matter of cloning the repository (for which you'll need git installed) or downloading a zip file from github.
Then cd into the project directory and run the mk script to compile the codes.
git clone email@example.com:dotbot2000/iso.git cd iso ./mk
The basic workflow is split into two parts:
Convert the MESA history files into EEP-based tracks (.eep files) via the program
make_eep. If you already have EEP files, from MIST, you can skip to 2.
Use the EEP files to create new stellar evolution tracks with
make_trackand/or isochrones with
If you have the MIST bolometric correction tables (from here) you can also convert tracks and isochrones into CMDs with
make_track. Run either of these programs without any command line arguments for more information. You'll need to set up the file bc_table.list to point to your local BC tables.
make_iso read the same input file. This input file is divided into two sections, a track/eep section and an isochrone section. The first four lines contain some header information, see input.example for details.
The track/eep section comes first; it contains:
- a list of data file directories to which the program will both read from and write to.
- the MESA history columns file "history_columns.list" that was used to create the MESA history files (tracks)
- the number of tracks
- a list of the tracks sorted by increasing order of initial mass.
The isochrone section follows the track/eep section; it contains:
- the isochrone output file name
- one of two options that specify how the ages will be input, either
min_maxthen you'll give the desired number of isochrones, the minimum age and the maximum age on three successive lines. If
listthen you'll give the desired number of isochrones followed by a list of individual ages, one per line.
- The scale of ages, either
log10, in which the isochrone ages will be specified. Isochrone ages are always given in years. For example, 10 Gyr could be specified as either 1e10 (linear) or 10.0 (log10).
See the file
input.example for the general layout.
A variety of code options can be set via namelists, residing in the file
input.nml. The number of secondary EEPs that are desired between each pair of primary EEPs is set in the file
input.eep. If this file does not exist, the code will set a default (small) number of 50 secondary EEPs between each pair of primary EEPs.
After these input files are configured correctly, run the codes using the following commands:
check terminal output for error messages.
If all goes well, then you'll have a fresh set of isochrones to explore.
- Sometime around MESA revision 5000, the name of the "core mass" history columns changed from, e.g.,
he_core_mass(new). This is dealt with in the code by the variable
old_core_mass_names: to use the old names, set this to
.true.; otherwise leave it