MIST v1.2
Here we describe the interface we provide to the MIST v1.2 library of stellar evolutionary tracks. See the MIST overview page for a comparison with MIST v2.5.
The main papers describing the MIST v1.2 models are Dotter [1] and Choi et al. [12]. The tracks include equivalent evolutionary points (EEPs) necessary to support robust isochrone creation and interpolation.
The MIST v1.2 library covers initial stellar masses from 0.1 to 300 solar masses and initial metallicities $-4 \le [\text{M}/\text{H}] \le 0.5$. It includes post-MS and post-RGB evolution (when appropriate), and provides both rotating (vvcrit=0.4) and non-rotating (vvcrit=0.0) models. All models assume scaled-solar chemical compositions using the solar abundances of Asplund et al. [15].
Data Acquisition
This package handles downloading and pre-processing of the MIST stellar tracks. The main access point we provide is MISTv1Library, which will load and make available the full library of stellar tracks. The first time you call this method, you will be prompted to download the required data files. The total data volume that will be downloaded is about 1.3 GB and will total ~158 MB after processing. Information on customizing the install location is available here. The data can be uninstalled by running using DataDeps; rm(datadep"MISTv1.2_vvcrit0.0"; recursive=true); rm(datadep"MISTv1.2_vvcrit0.4"; recursive=true). With all the tracks available, we are able to perform operations like interpolating isochrones at any age and metallicity within the MIST parameter space.
Table Details
The user guide for the MIST products is available here. The full MIST tracks contain 77 data columns originating from the MESA output. A description of the columns is available here. Currently, we process the raw tracks and only save the subset of columns given by StellarTracks.MIST.select_columns (see below). These columns are the ones most commonly needed for computing isochrones and applying bolometric corrections to compare against observed stellar populations. This choice is an optimization for storage space, load time, and development simplicity. If you require access to more columns, please submit an issue on the source repository and we can consider options.
using StellarTracks.MIST
MIST.select_columns # These columns are saved from raw tracks(:star_age, :log_L, :log_Teff, :log_g, :log_surf_cell_z)Examples
Load the full MIST v1.2 library of non-rotating models (vvcrit=0), which is downloaded via DataDeps.jl if not already available. MIST also provides rotating models with vvcrit=0.4 which can be loaded with MISTv1Library(0.4).
using StellarTracks.MIST
p = MISTv1Library(0.0)Structure of interpolants for the MIST library of stellar tracks with vvcrit=0.0. Valid range of metallicities is (-4.0, 0.5).Use the MISTv1Library to interpolate an isochrone at log10(age [yr]) = 10.05 and metallicity $[\text{M}/\text{H}] = -1.234$. The isochrone is returned as a NamedTuple.
iso = isochrone(p, 10.05, -1.234)(eep = [248, 249, 250, 251, 252, 253, 254, 255, 256, 257 … 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710], m_ini = [0.10025280033448683, 0.10168662186827446, 0.10353974922561122, 0.10612929089041596, 0.10909595817335888, 0.11233603774056, 0.11606609846064037, 0.12035213801026332, 0.12474538252191669, 0.1291430781742897 … 0.8342491393164231, 0.8342507315184663, 0.8342523735465877, 0.8342540740293077, 0.8342558391270521, 0.8342576617152704, 0.8342595432079075, 0.8342614859857673, 0.8342635140599843, 0.8342656218073448], logTe = [3.53373866671961, 3.5351145489458298, 3.536868609218386, 3.5392723696319384, 3.5419692031870875, 3.5448444272002115, 3.5480525429228353, 3.5515890193626363, 3.5550342902531535, 3.55828484583162 … 4.72755255567955, 4.722812923305508, 4.718045790363876, 4.713255084063041, 4.70844418528819, 4.703615181366145, 4.698769247072273, 4.693907377437686, 4.6890319432799785, 4.684144679682596], Mbol = [11.755935265529608, 11.71399151769745, 11.66046609512256, 11.58695484517987, 11.504320017963018, 11.415970136644722, 11.316877544386745, 11.206674705946163, 11.09798024950303, 10.993731089619601 … 3.67088898302782, 3.729754255709554, 3.788917170802253, 3.848275649796108, 3.9077592517693405, 3.9673159378657563, 4.026906489549238, 4.0865034349106315, 4.146098733267294, 4.205686690131054], logg = [5.335135498261987, 5.329616187429436, 5.322598139056072, 5.312998667387316, 5.3022384718547135, 5.290763150651325, 5.277926580969504, 5.263688148201607, 5.24969001370797, 5.236312070031329 … 7.610365566136191, 7.615231278014854, 7.620010091666503, 7.624711029682747, 7.6293385805548946, 7.633895105543113, 7.6383662247181, 7.64275679215676, 7.647073701043727, 7.651316766157619], logL = [-2.8063741062118432, -2.78959660707898, -2.7681864380490238, -2.7387819380719476, -2.7057280071852063, -2.670388054657888, -2.6307510177546978, -2.5866698823784655, -2.543192099801212, -2.50149243584784 … 0.4276444067888719, 0.40409829771617845, 0.3804331316790989, 0.35668974008155685, 0.332896299292264, 0.3090736248536976, 0.28523740418030485, 0.2613986260357477, 0.23756050669308257, 0.2137253239475784], log_surf_cell_z = [-3.0790987748736396, -3.0790987748746117, -3.0790987748262806, -3.0790987747027794, -3.0790987744732474, -3.079098774110238, -3.0790987735334743, -3.0790987726465158, -3.079098771475168, -3.0790987699661168 … -3.0814487721997468, -3.0814486072553624, -3.081448437146475, -3.0814482609642604, -3.081448078067709, -3.081447889251467, -3.0814476943260916, -3.0814474930358795, -3.0814472828638992, -3.0814470644407144])The NamedTuple returned by isochrone can be converted to table types, like TypedTables.Table, to simplify further use.
using TypedTables: Table
Table(iso)Table with 7 columns and 1463 rows:
eep m_ini logTe Mbol logg logL log_surf_cell_z
┌────────────────────────────────────────────────────────────────────
1 │ 248 0.100253 3.53374 11.7559 5.33514 -2.80637 -3.0791
2 │ 249 0.101687 3.53511 11.714 5.32962 -2.7896 -3.0791
3 │ 250 0.10354 3.53687 11.6605 5.3226 -2.76819 -3.0791
4 │ 251 0.106129 3.53927 11.587 5.313 -2.73878 -3.0791
5 │ 252 0.109096 3.54197 11.5043 5.30224 -2.70573 -3.0791
6 │ 253 0.112336 3.54484 11.416 5.29076 -2.67039 -3.0791
7 │ 254 0.116066 3.54805 11.3169 5.27793 -2.63075 -3.0791
8 │ 255 0.120352 3.55159 11.2067 5.26369 -2.58667 -3.0791
9 │ 256 0.124745 3.55503 11.098 5.24969 -2.54319 -3.0791
10 │ 257 0.129143 3.55828 10.9937 5.23631 -2.50149 -3.0791
11 │ 258 0.13429 3.5618 10.8779 5.22146 -2.45515 -3.0791
12 │ 259 0.139505 3.56503 10.7677 5.20738 -2.41108 -3.0791
13 │ 260 0.144646 3.56784 10.6666 5.1945 -2.37066 -3.0791
14 │ 261 0.149791 3.57025 10.5734 5.18264 -2.33338 -3.0791
15 │ 262 0.156291 3.57292 10.465 5.16884 -2.28999 -3.0791
16 │ 263 0.163639 3.57568 10.3511 5.15439 -2.24446 -3.0791
17 │ 264 0.171779 3.57841 10.2347 5.13954 -2.19787 -3.0791
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮The theoretical isochrone is plotted below.
We can load a grid of bolometric corrections from BolometricCorrections.jl to add observational magnitudes to the theoretical isochrone. BolometricCorrections.jl provides two versions of the MIST BC grid: v1.2 (metallicity and reddening only) and v2.5 (adds [α/Fe]). Here we use the MIST v1.2 grid to evaluate an isochrone with log10(age [yr]) = 10.05, $[\text{M}/\text{H}] = -1.234$, and $A_v=0.02$ mag.
using BolometricCorrections.MIST: MISTv1BCGrid
m1 = MISTv1BCGrid("JWST")
iso_v1 = isochrone(p, m1, 10.05, -1.234, 0.02)Table with 36 columns and 1463 rows:
eep m_ini logTe Mbol logg logL log_surf_cell_z ⋯
┌───────────────────────────────────────────────────────────────────────
1 │ 248 0.100253 3.53374 11.7559 5.33514 -2.80637 -3.0791 ⋯
2 │ 249 0.101687 3.53511 11.714 5.32962 -2.7896 -3.0791 ⋯
3 │ 250 0.10354 3.53687 11.6605 5.3226 -2.76819 -3.0791 ⋯
4 │ 251 0.106129 3.53927 11.587 5.313 -2.73878 -3.0791 ⋯
5 │ 252 0.109096 3.54197 11.5043 5.30224 -2.70573 -3.0791 ⋯
6 │ 253 0.112336 3.54484 11.416 5.29076 -2.67039 -3.0791 ⋯
7 │ 254 0.116066 3.54805 11.3169 5.27793 -2.63075 -3.0791 ⋯
8 │ 255 0.120352 3.55159 11.2067 5.26369 -2.58667 -3.0791 ⋯
9 │ 256 0.124745 3.55503 11.098 5.24969 -2.54319 -3.0791 ⋯
10 │ 257 0.129143 3.55828 10.9937 5.23631 -2.50149 -3.0791 ⋯
11 │ 258 0.13429 3.5618 10.8779 5.22146 -2.45515 -3.0791 ⋯
12 │ 259 0.139505 3.56503 10.7677 5.20738 -2.41108 -3.0791 ⋯
13 │ 260 0.144646 3.56784 10.6666 5.1945 -2.37066 -3.0791 ⋯
14 │ 261 0.149791 3.57025 10.5734 5.18264 -2.33338 -3.0791 ⋯
15 │ 262 0.156291 3.57292 10.465 5.16884 -2.28999 -3.0791 ⋯
16 │ 263 0.163639 3.57568 10.3511 5.15439 -2.24446 -3.0791 ⋯
17 │ 264 0.171779 3.57841 10.2347 5.13954 -2.19787 -3.0791 ⋯
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱All available columns in the isochrone can be obtained with TypedTables.columnnames.
using TypedTables: columnnames
columnnames(iso_v1)(:eep, :m_ini, :logTe, :Mbol, :logg, :logL, :log_surf_cell_z, :F070W, :F090W, :F115W, :F140M, :F150W2, :F150W, :F162M, :F164N, :F182M, :F187N, :F200W, :F210M, :F212N, :F250M, :F277W, :F300M, :F322W2, :F323N, :F335M, :F356W, :F360M, :F405N, :F410M, :F430M, :F444W, :F460M, :F466N, :F470N, :F480M)We can also use the MIST v2.5 BC grid. The isochrone method accepts a MISTv2BCGrid and converts metallicities between the chemical abundance scales of the stellar tracks and bolometric corrections automatically. The [α/Fe] value is inferred from the track library automatically.
using BolometricCorrections.MIST: MISTv2BCGrid
m2 = MISTv2BCGrid("JWST")
iso_v2 = isochrone(p, m2, 10.05, -1.234, 0.02) # [M/H], AvTable with 36 columns and 1463 rows:
eep m_ini logTe Mbol logg logL log_surf_cell_z ⋯
┌───────────────────────────────────────────────────────────────────────
1 │ 248 0.100253 3.53374 11.7559 5.33514 -2.80637 -3.0791 ⋯
2 │ 249 0.101687 3.53511 11.714 5.32962 -2.7896 -3.0791 ⋯
3 │ 250 0.10354 3.53687 11.6605 5.3226 -2.76819 -3.0791 ⋯
4 │ 251 0.106129 3.53927 11.587 5.313 -2.73878 -3.0791 ⋯
5 │ 252 0.109096 3.54197 11.5043 5.30224 -2.70573 -3.0791 ⋯
6 │ 253 0.112336 3.54484 11.416 5.29076 -2.67039 -3.0791 ⋯
7 │ 254 0.116066 3.54805 11.3169 5.27793 -2.63075 -3.0791 ⋯
8 │ 255 0.120352 3.55159 11.2067 5.26369 -2.58667 -3.0791 ⋯
9 │ 256 0.124745 3.55503 11.098 5.24969 -2.54319 -3.0791 ⋯
10 │ 257 0.129143 3.55828 10.9937 5.23631 -2.50149 -3.0791 ⋯
11 │ 258 0.13429 3.5618 10.8779 5.22146 -2.45515 -3.0791 ⋯
12 │ 259 0.139505 3.56503 10.7677 5.20738 -2.41108 -3.0791 ⋯
13 │ 260 0.144646 3.56784 10.6666 5.1945 -2.37066 -3.0791 ⋯
14 │ 261 0.149791 3.57025 10.5734 5.18264 -2.33338 -3.0791 ⋯
15 │ 262 0.156291 3.57292 10.465 5.16884 -2.28999 -3.0791 ⋯
16 │ 263 0.163639 3.57568 10.3511 5.15439 -2.24446 -3.0791 ⋯
17 │ 264 0.171779 3.57841 10.2347 5.13954 -2.19787 -3.0791 ⋯
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱A color-magnitude diagram comparing the two BC grids applied to an isochrone made from MIST v1.2 tracks is plotted below. The isochrone made with the v1.2 BCs is shown as a solid line and the isochrone made with the v2.5 BCs is shown as a dashed line.
Chemistry API
We re-export the BolometricCorrections.MIST.MISTv1Chemistry type defined in BolometricCorrections.jl that can be used to access information on the chemical mixture assumed for the MIST v1.2 models. All models have scaled-solar chemical compositions.
Library API
StellarTracks.MIST.MISTv1Library — Type
MISTv1Library(vvcrit::Number=0)MISTv1Library implements the AbstractTrackLibrary interface for the MIST stellar evolution library. Instances can be constructed by providing a supported vvcrit argument for the rotation parameter, which must be equal to either 0 (no rotation) or 0.4. We set vvcrit=0 by default. If you construct an instance as p = MISTv1Library(0.0), it is callable as p(mh::Number, M::Number) which returns an InterpolatedTrack that interpolates between tracks to a specific metallicity ([M/H]) and initial stellar mass (M).
This type also supports isochrone construction (see isochrone).
Examples
julia> p = MISTv1Library(0.0)
Structure of interpolants for the MIST library of stellar tracks with vvcrit=0.0. Valid range of metallicities is (-4.0, 0.5).
julia> isochrone(p, 10.05, -2) isa NamedTuple
true
julia> p(-2.05, 1.05)
InterpolatedTrack with M_ini=1.05, MH=-2.05, Z=0.000132797, Y=0.249199, X=0.750668.StellarTracks.isochrone — Method
isochrone(p::MISTv1Library, logAge::Number, mh::Number)Interpolates properties of the stellar tracks in the library at the requested logarithmic age (logAge = log10(age [yr])) and logarithmic metallicity [M/H] = mh. Returns a NamedTuple containing the properties listed below:
eep: Equivalent evolutionary pointsm_ini: Initial stellar masses, in units of solar masses.logTe: Base-10 logarithm of the effective temperature [K] of the stellar model.Mbol: Bolometric luminosity of the stellar model.logg: Surface gravity of the stellar model.log_surf_cell_z: Base-10 logarithm of the surface metal mass fraction (Z).
Track Set API
StellarTracks.MIST.MISTv1TrackSet — Type
MISTv1TrackSet(mh::Number, vvcrit::Number=0)MISTv1TrackSet implements the AbstractTrackSet interface for the MIST stellar evolution library.
julia> ts = StellarTracks.MIST.MISTv1TrackSet(0.0, 0.0)
MISTv1TrackSet with MH=0.0, vvcrit=0.0, Z=0.0142014, Y=0.270327, 1710 EEPs and 196 initial stellar mass points.
julia> ts(1.01) # Interpolate track at new initial mass
MISTv1Track with M_ini=1.01, MH=0.0, vvcrit=0.0, Z=0.0142014, Y=0.270327, X=0.715472.
julia> isochrone(ts, 10.0) isa NamedTuple # Interpolate isochrone at `log10(age [yr]) = 10`
trueIndividual Tracks API
StellarTracks.MIST.MISTv1Track — Type
MISTv1Track(mh::Number, mass::Number, vvcrit::Number=0)MISTv1Track implements the AbstractTrack interface for the MIST stellar evolution library.
julia> track = StellarTracks.MIST.MISTv1Track(-2, 0.15, 0.0)
MISTv1Track with M_ini=0.15, MH=-2.0, vvcrit=0.0, Z=0.000148992, Y=0.249224, X=0.750627.
julia> track(7.0) # interpolate track at log10(age [yr]) = 7
(log_L = -1.5293719450743, log_Teff = 3.587337261741102, log_g = 4.447603584617846, log_surf_cell_z = -3.8450984758441953)MIST v1.2 References
This page cites the following references:
- [1]
- [12]
- J. Choi, A. Dotter, C. Conroy, M. Cantiello, B. Paxton and B. D. Johnson. MESA ISOCHRONES AND STELLAR TRACKS (MIST). I. SOLAR-SCALED MODELS. ApJ 823, 102 (2016).
- [15]
- M. Asplund, N. Grevesse, A. J. Sauval and P. Scott. The Chemical Composition of the Sun. Annual Review of Astronomy and Astrophysics 47, 481–522 (2009).