Software dedicated to provide a self-consistent modeling framework for the thermal and the non-thermal diffuse components in galaxy clusters, and provide multi-wavelenght observables predictions.
Figure 1. Overview of the parametrization, physical processes, and observables dependencies.Figure 2. The structure of the code.
The minot directory contains the main code, including:
-
model.py : main code that defines the class Cluster
-
model_admin.py : subclass that defines administrative tools
-
model_modpar.py : subclass that handles model parameters functions
-
model_phys.py : subclass that handles the physical properties of the cluster
-
model_obs.py : subclass that handles the observational properties of the cluster
-
model_plots.py : plotting tools for automatic outputs
-
model_title.py : title for the package
-
ClusterTools : Repository that gather several useful libraries
The root directory also provides a set of examples:
- notebook : Repository where to find Jupyter notebook used for validation/example.
To be compliant with other softwares developed in parallel, the code was originally developed in python 2. Recently, the code was made compatible with python 3.
You can use pip to install the package:
pip install minot
The software depends on standard python packages:
- astropy
- numpy
- scipy
- matplotlib
But also:
- ebltable (see https://github.com/me-manu/ebltable)
- healpy (optional, see https://healpy.readthedocs.io/en/latest). Healpy is not automatically installed, but you can do it independently to benefit of a view functions that use healpy, but are not directly used in minot.
In the case of X-ray outputs, it will be necessary to have the XSPEC software installed independently (https://heasarc.gsfc.nasa.gov/xanadu/xspec/).
-
Depending on the python version, the automatic installation of healpy does not work. As healpy is optional, it was removed from the dependencies and healpy can be installed independently if necessary.
-
For MAC-OS, in some version of python 2, the automatic installation of matplotlib may lead to an error related to the backend when importing matplotlib.pyplot. In this case, reinstalling matplotlib using conda, as
conda install matplotlib
should solve the problem. -
The automatic installation of dependencies is sometimes misbehaving. In such case, you may just install the required packages independently:
conda install astropy
conda install numpy
conda install scipy
conda install matplotlib
- in model.py, @density_cre1_model.setter is defined twice (lines 913 and 969). The second definition is not doing anything so that setting cluster.density_cre1_model does not change anything. This can be pypassed by changing directly the hidden underlying quantity cluster._density_cre1_model == {...} but the format is not checked in this case.
In case you use minot in your research, you can cite R. Adam, H. Goksu, A. Leingärtner-Goth, et al. (2020) to acknowledge its use. The paper is availlable here and contains the full description of the code: https://ui.adsabs.harvard.edu/abs/2020arXiv200905373A/abstract