Output controls
In the following, an overview of the all the controls related to what will be outputted
when running BASTA is given, which corresponds to the fitting controls block in the define_input()
function in the create_inputfile.py
scripts. To see the recommended/default usage of these
controls for specific fitting cases, see the examples section, or the provided
example scripts BASTA/examples/xmlinput/create_inputfile_*.py
.
Output file
define_output["outputfile"] = "results.ascii"
Name of the outputted ASCII file containing the inferred parameters (listed below here). Will be placed in the given output directory, and can be any format that can be created using numpy.savetxt.
Outputted/inferred parameters
define_output["outparams"] = ("Teff", "FeH", "logg", "radPhot", "massfin", "age")
List of parameters to be inferred and printed to output. Can be any parameter
contained in the grid, and listed in the parameter list
.
These will be printed to the output file in the same order as provided. It is
recommended to always include the parameters being fitted,
to compare with the observed values.
A special keyword that can be included is "distance"
, which will try to
infer the distance to the star given observed magnitudes and coordinates, as
shown in the example or explained in
the method section.
Optional outputs
define_output["optionaloutputs"] = True
Will produce a dump (.json file) of the \(\chi^2\) and logarithmic likelihood of
each model considered in the fit (not excluded by priors),
by default False
. This can be read into python using filio.load_selectedmodels()
,
and used to determine and compare the N’th best fitting model, or similar statistics.
Outputted statistics
By default, BASTA reports/outputs the median, 16th and 84th quantiles of the posterior distribution of the given parameter. However, should the user want to change this (e.g. to compare against other methods), it is done through the following options.
define_output["centroid"] = "mean"
define_output["uncert"] = "std"
The centroid
can be changed between reporting the median
of the distribution
(default) and reporting the mean
value. The unceartainty (uncert
) can be changed
between reporting the quantiles
(default) or the standard deviation (std
).
Plotting controls
In the following, an overview of the plotting related controls are given. These control which of the automatically generatable plots should be produced when running BASTA.
Corner plot
define_plots["cornerplots"] = define_output["outparams"]
The list of parameters to display the posterior distributions and correlations of in
a corner diagram. This is typically set to the same as the outputted parameter,
but can be set with a separate tuple of parameters. If "distance"
is present in
the list/tuple, an additional corner diagram with the distance-related parameters is
produced.
Kiel diagram
define_plots["kielplots"] = True
Toggle for outputting a Kiel (HR) diagram of the resulting fit. This displays the tracks/isochrones considered in the fit, and overlays the observed parameters using different colours, to give a visual representation of the convergence of observed parameters across the models.
Individual frequencies plots
define_plots["freqplots"] = False
Controls for which plots to be produced, from the individual frequencies and/or
quantities derived therefrom, of the best fitting model compared to the observations.
This requires the individual frequencies to be supplied (see Individual frequency parameters),
and be available in the grid. If set to False
none of the plots will be produced,
while True
will produce all figures (with default choices of sequences for the
derived quantities) for each star being fitted. They are placed in the
output directory following the syntax <starid>_<plotname>.<plotfmt>
.
The plots can enabled individually by instead providing a tuple with the names of plots to be produced. The options are:
echelle
: Produces two échelle diagrams of the provided observed individual frequencies against the models, one being with the surface-corrected model frequencies, and the other the uncorrected model frequencies, whereby the_uncorrected
is added to the filename. Using different keys, varied versions of the échelle diagrams are produced. The options are:echelle
: Simplest version of the diagram, as described above.pairechelle
: Adds a line between the observed frequencies and the matched model frequency.dupechelle
: Same aspairechelle
, but adds a duplicated panel, so sequences crossing the axis can be visualized in a clearer way.allechelle
: Produces all the above versions.
ratios
: Produces a plot of the observed frequency ratios against the best fitting model. If ratios are being fitted, it will plot the sequence being fitted. If not fitted, the defaultr01
sequence will be plotted. Instead ofratios
, specific sequences can be set in the list to produce plots for specific sequences. Multiple can be defined at the same time.epsdiff
: Same as for ratios, but for the phase shift differences. Default is thee012
sequence.
If correlations
in the freqparams input is set
to True
, a correlation map of the individual frequencies or derived quantities
will also be produced, following the syntax <starid>_<plotname>_cormap.<plotfmt>
.
Plot format
define_plots["plotfmt"] = "pdf"
Defines the format of which figures are created. Default is png
which is a
small format, so preferable when creating many figures/fitting multiple stars.
However, if high resolution/vector graphics is desirable, pdf
is recommended.
Otherwise, it can be any file format compatible with
matplotlib.pyplot.savefig.
Star identifier in plots
define_plots["nameinplot"] = True
The star identifier is normally only contained in the name of plot files. However, depending on the preferred post-processing procedure of the user, it can be beneficial to include in the plots itself, which can be turned on using this key. Currently, only implemented for Kiel diagram and corner plots.