[Mesa-users] New public release r12115

Josiah Schwab jwschwab at ucsc.edu
Tue Sep 10 13:32:10 EDT 2019

Hi All,

I'm pleased to announce the release of MESA r12115.

Brief release notes follow.  This release includes two notable
backwards-incompatible changes, so please read carefully if you upgrade.

When upgrading, we also suggest that users upgrade to the recently
released 20190830 SDK.

The website will be updated shortly.

Josiah (on behalf of the MESA developers)

Changes to atmospheres (Backwards-incompatible)

There has been a major overhaul of the atmosphere controls and related
code.  This improves consistency between the atmosphere and interior
calculations and offers more flexibility to users.  To learn more,
please consult the user guide available at


Changes to s% xtra variables (Backwards-incompatible)

The MESA star pointer provides a set of extra variables that can be used
in run_star_extras.f and are automatically saved and restored during
retries and backups. The old variables were

    s% xtra1, s% xtra2, ..., etc. for floats,
    s% ixtra1, s% ixtra2, ..., etc for. integers, and
    s% lxtra1, s% lxtra2, ..., etc for. logicals (booleans).

These have now been collapsed into arrays (e.g., s% xtra(:)). If you use
these variables in your run_star_extras.f, you will need to enclose the
variable number in brackets. E.g., s% xtra1 becomes s% xtra(1),
s% ixtra17 becomes s% ixtra(17), etc.

The new scheme allows you to define integers with meaningful names that
can make it more obvious how an xtra variable is used. For example, if
you end up storing some integrated quantity in s% xtra(11), you could
define i_my_integral = 11 and then refer to the value as
s% xtra(i_my_integral).

The ppisn test suite case provides an example of this usage.

Changes to WD atm tables

There are now 2 options for white dwarf atmosphere tables:

WD_tau_25: the original WD atmosphere table option for DA (H atmosphere)
WDs; also found and fixed a bug in the header of this file that was
causing it to use only a small portion of the actual table

DB_WD_tau_25: new table for DB (He atmosphere) WDs

Changes to header format

The header format is now taken from the star_history_*_format and
profile_*_format variables defined in controls.defaults.  This addresses
the bug caused by the compiler version string exceeding the allowed
length of a header column found by some users with the MESA SDK and
running on macOS.  The default is now 40 characters but this can be set
to a larger (or smaller) value in &controls.

In analogy to the routines in run_star_extras.f, run_binary_extras.f now
has the routines


that allow the user to add custom header items to the binary history

New Overshooting Controls

We have introduced new, easier to use controls for overshooting, based
on convection-zone matching criteria.

Use "overshoot_new = .true." to use the new controls.

Note that in a future release, these new controls will become the
default.  Therefore, when you start new inlists, we recommend that you
use these new controls.

In the new set of controls, for each convective boundary it is possible
to define an overshoot_zone_type, overshoot_zone_loc and an
overshoot_bdy_loc as well as values for the overshooting parameters.

The permitted values are the following:

    overshoot_scheme = exponential, double_exponential, step
    overshoot_zone_type = burn_H, burn_He, burn_Z, nonburn, any
    overshoot_zone_loc = core, shell, any
    overshoot_bdy_loc = bottom, top, any

The following controls assign values for the diffusive or step
overshooting parameters:


The following example will apply exponential overshoot, with f = 0.128
and f0 = 0.100, at the bottom of non-burning convective shells; and
exponential overshoot, with f = 0.014 and f0 = 0.004, at all other
convective boundaries.

    overshoot_scheme(1) = 'exponential'
    overshoot_zone_type(1) = 'nonburn'
    overshoot_zone_loc(1) = 'shell'
    overshoot_bdy_loc(1) = 'bottom'
    overshoot_f(1) = 0.128
    overshoot_f0(1) = 0.100

    overshoot_scheme(2) = 'exponential'
    overshoot_zone_type(2) = 'any'
    overshoot_zone_loc(2) = 'any'
    overshoot_bdy_loc(2) = 'any'
    overshoot_f(2) = 0.014
    overshoot_f0(2) = 0.004

Other examples are illustrated in the gyre_in_mesa_rsg and high_mass
test_suite cases.

More information about the Mesa-users mailing list