Interpolation controls

In the following, an overview of all control options related to the BASTA interpolation routine is given, which corresponds to the interpolation 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. For an overview of the routine, see the method section.

Overall, the interpolation routine is a large, almost separate, module for BASTA. It improves the resolution of the grid of models by interpolating between/along tracks. This allows for the posterior distributions to be smoother, and gaps in the parameter space to be filled. The routine is however based on many user-defined choices, and has not been tested in extensive details. It is thus an experimental feature, and should be used with care.

This feature is toggled on/off with the boolean

interpolation = False

which by default is turned off. The following description is based around interpolating a grid of stellar evolutionary tracks. The method is however also applicable to grids of stellar isochrones, whereby the words tracks and isocohrones are interchangeable in the descriptions.

Sub-grid from limits

define_intpol["intpolparams"]["limits"] = {
    "Teff": {"sigmacut": 1},
    "FeH": {"abstol": 0.2},
}

The part of the original grid to be interpolated within (sub-grid), is defined through these limits. The application/usage is identical to the flat priors, and it is generally recommended using a wider prior/limit here than when fitting, to ensure the interpolated grid actually covers the desired parameter range of the following fit.

Definition of applied method

define_intpol["intpolparams"]["method"] = {
    "case": "combined",
    "construction": "bystar",
}

Defines the overarching methods by which interpolation should be applied. The keyword case controls which interpolation method should be used among the following

  • along: Interpolation purely along the tracks of the sub-grid, to increase the resolution within the tracks, but not place new between the tracks.

  • across: Interpolation purely across the tracks of the sub-grid. New tracks will be placed in between the originals, while the resolution along the track will attempt to mimic the original tracks used for interpolation.

  • combined: Interpolation will be applied both across and along the tracks in the sub-grid, in a combined approach. When this mode is selected, it therefore needs the control blocks of both methods to be provided.

The keyword construction controls how interpolation is applied for a BASTA run with multiple stars. If set to "bystar", a sub-grid based on provided limits will be determined and interpolated within for each star being fitted. If set to "encompass", a single sub-grid based on the proivded limits applied to the full range of observed parameters across all inputted stars will be determined and interpolated within, and then used when fitting all of the stars. For example, if an absolute tolerance limit of 300K is set for a sample of stars ranging from 5500K to 6100K in effective temperature, the sub-grid will span fram 5350K to 6250K.

Name of interpolated grid

define_intpol["intpolparams"]["name"] = "testgrid"

Optional control of the name of the outputted interpolated sub-grid. The name will always be preceded by intpol_, and if the method of construction is "bystar", the identifier of the star will be appended to the name. If not provided, the name will be the same as the original grid.

Across tracks resolution

define_intpol["intpolparams"]["gridresolution"] = {
    "scale": 1.5,
    "baseparam": "rhocen",
    "extend": False,
}

Control group for how to scale resolution across the tracks.

The scale indicates the minimum multiplicative factor by which the number of tracks should be increased. For example, if the sub-grid contains 10 tracks, and scale is set to 1.5, at least 15 new tracks will be interpolated to.

The baseparam defines what quantity along the tracks should be used as a base for interpolation. This should be a continuous, monotonic function that scales with evolutionary phase. Preliminary testing determined central density (\(\rho_{\text{cen}}\), "rhocen") to generally be a good choice, central hydrogen abundance (\(X_{\text{cen}}\), "xcen") to be good for exclusively main-sequence grids, and the large frequency separation (\(\Delta\nu\), "dnufit") to be good when interpolating individual frequencies.

The extend key toggles whether the original tracks in the sub-grid should be copied to the interpolated grid. This is by default False, as this interferes with the desired homogeneity of the distribution of models in the grid. For the combined case of interpolation they will also have a different resolution along the tracks. However, the impact on the derived posterior is alleviated by the weighting of models/tracks according to their occupied volume in the parameter space, and thus including the original tracks should not cause discrepancies, and allows for a denser occupation of the parameter space.

Along tracks resolution

define_intpol["intpolparams"]["trackresolution"] = {
    "param": "dnufit",
    "value": 0.01,
    "baseparam": "rhocen",
}

Control group for how to scale resolution along the tracks.

The param key defines the parameter for which a certain resolution is desired, and can be any continuous, monotonic parameter. The value key defines the target resolution in this parameter, in the units provided in the parameter list.

The baseparam key defines what parameter is used as a base for interpolation. A transformation between this and the above resolution parameter is then made, as the resolution parameter might not be an appropriate choice to use as a base for interpolation (see description in methods).