Format for MESA defaults files
This document defines a format for MESA defaults files. Because these files are compiled, documenation must be in commments. After leading spaces and ! are stripped, this file should be valid reStructuredText (reST) so that it can rendered in the Sphinx docs. This file is written in the format it describes.
The stripping procedure is performed via a custom Sphinx
defaults2rst (located in
occurs when the files are read from disk (using the Sphinx
source-read hook). The defaults files in MESA modules should
be symlinked into the
docs tree in an appropriate location.
The Sphinx docnames that should undergo this transformation are
specified in defaults2rst.py. When a new defaults file is added,
it must be added to that list.
Options & Defaults
Most MESA options stand alone and have their own documentation.
Number options are great. MESA is good at taking numbers
and making more numbers for you. Often you’ll want to set
number_option > 0, but sometimes you want to set
number_option <= 0.
number_option = 1
String options are great. You can tell MESA what you want it to do.
string_option = 'make me a sandwich'
Boolean options are great. They can take one of two values:
boolean_option = .true.
Sometimes there are options that need to grouped together, because they share documentation. If options are to be grouped, both their headings and their default values should be adjacent.
xa_average_lower_limit_species(1) = '' xa_average_lower_limit(1) = 0
An indent is 3 spaces. No tabs are used. Almost all whitespace at the beginning of lines is strictly cosmetic and is not used by the parser in determining the structure of the file. Whitespace at the end of lines should be avoided.