Giter VIP home page Giter VIP logo

minot's Introduction

minot: Modeling of the ICM (Non-)thermal content and Observables prediction Tools

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.

Overview of the physical processes and structure of the code

Figure 1. Overview of the parametrization, physical processes, and observables dependencies.

Figure 2. The structure of the code.

Content

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.

Environment

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.

Installation

You can use pip to install the package:

pip install minot

Dependencies

The software depends on standard python packages:

  • astropy
  • numpy
  • scipy
  • matplotlib

But also:

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/).

Encountered issues

  • 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

Bugs to be corrected

  • 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.

Reference

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

minot's People

Contributors

remi-adam avatar

Stargazers

Vadym Voitsekhovskyi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.