Isochrones module#
To generate synthetic clusters, ASteCA requires a set of theoretical isochrones to serve as their foundation. The supported services are: PARSEC, MIST, and BASTI.
Each service produces the isochrone files in a different way. A single file produced with these services will contain:
PARSEC : multiple metallicities and multiple ages
MIST : single metallicity and multiple ages
BASTI : single metallicity and single age
All isochrones files must be stored in a single folder; ASteCA assumes that all files within that folder are isochrone files that should be loaded.
Note
The user can combine files for different photometric systems as long as they are generated by the same service (PARSEC, MIST, or BASTI). The only restriction is that the files must have the same shape, this is: the same number of metallicities, ages, and initial masses.
To load the isochrones and generate an object, called here isochs
, we make use
of the asteca.Isochrones
class as follows:
import asteca
# Load PARSEC isochrones
isochs = asteca.Isochrones(
model="PARSEC",
isochs_path="isochrones/",
magnitude="Gmag",
color=("G_BPmag", "G_RPmag"),
magnitude_effl=6390.7,
color_effl=(5182.58, 7825.08),
verbose=3
)
Instantiating isochrones...
Model : PARSEC
N_files : 1
N_mets : 3
N_ages : 36
N_isochs : 2000
z range : [0.01, 0.02]
loga range : [6.6, 10.10001]
Magnitude : Gmag
Color : G_BPmag-G_RPmag
Isochrone object generated
Where:
model
: Model used to generate the isochrones. Must be one of the three allowed modelsisochs_path
: Path to the file or folder where the isochrone file(s) is(are) storedmagnitude
: Name of the magnitude column in the isochrone file(s)color
: Name of the two filters that make up the color. Names must be in the proper order, i.e. such that the color name is generated by subtracting the first filter from the second one.magnitude_effl
: Effective lambda (in Angstrom) for the magnitude filter.color_effl
: Effective lambdas for the filters that make up thecolor
(in the same order as the names in the defined color).
The effective lambda values represent the effective central/midpoint wavelength of a filter. These values are returned by the CMD service, and are also available in the documentation for the pyphot package and the Filter Profile Service of the Spanish Virtual Observatory.
Extra arguments#
There are a few more arguments that can be modified when loading the isochrones. These
are: z_to_FeH, N_interp, parsec_rm_stage_9, column_names
.
The z_to_FeH
argument is used to transform metallicity values from the default z
to the logarithmic version FeH
. If you want to generate your synthetic cluster
models using FeH
instead of z
, then this argument must be set to the value
of the solar z
metallicity for the isochrones. For example, if you are using PARSEC
isochrones a solar metallicity of z=0.0152
is recommended (see
CMD input form), which means that
you would load your isochrones as:
isochs = asteca.Isochrones(
model="PARSEC",
isochs_path="isochrones/",
magnitude="Gmag",
color=("G_BPmag", "G_RPmag"),
magnitude_effl=6390.7,
color_effl=(5182.58, 7825.08),
z_to_FeH=0.0152
)
If this argument is not changed from its default then the z
parameter will be used
to generate synthetic clusters, as shown in the section Generating.
The N_interp
argument controls the resolution of the isochrones interpolation, set
to 2000
by default. A smaller value con be used to lower the amount of memory
used by this class, but it comes at the expense of more coarse synthetic clusters being
generated later on (since the isochrones will be interpolated with fewer points and will
thus contain less resolution).
The parsec_rm_stage_9
affects PARSEC isochrones only. Is set to True
by default
and it indicates that the post_AGB stage (label=9
) should be removed. This is
because this stage is still “in preparation”
Finally, the column_names
argument is an internal dictionary that should only be
manually passed if the Isochrones
class fails to parse the column names of
the isochrones files. Please contact me if you have any
issues with the loading process of the theoretical isochrones and need to modify
this argument.
The user can refer to asteca.Isochrones
for detailed information on each
of these arguments.