Skip to content

sambit-giri/tools21cm

Repository files navigation

Tools21cm

License DOI GitHub Repository CI status PyPI version

A python package for analysing simulated 21-cm signals from the Epoch of Reionization (EoR) and Cosmic Dawn (CD). Full documentation (with examples, installation instructions and complete module description) can be found at readthedocs.

Package details

The package provides tools to analyse cosmological simulations of EoR and CD. It contains modules to create mock 21-cm observations for current and upcoming radio telescopes, such as LOFAR, MWA and SKA, and to construct statistical measures.

Input

Currently, Tools21cm supports the following simulation codes:

Outputs

There are various manipulation and analysis moduled in Tools21cm.

  • Angular coordinates: methods to convert data between physical (cMpc) coordinates and observational (angular-frequency) coordinates
  • Bubble Statistics: methods to calcluate the sizes of the regions of interest and estimate the size distributions
  • Cosmological calculators: various functions for calculating some cosmological stuff
  • Identifying regions: methods to identify regions of interest in images
  • Lightcone: methods to construct lightcones
  • Power spectrum: contains functions to estimate various two point statistics
  • Reading simuation outputs: methods to read simulations outputs
  • Smoothing: methods to smooth or reduce resolution of the data to reduce noise
  • Point statistics: contains various useful statistical methods
  • Temperature: methods to estimate the brightness temperature
  • Radio telescope noise:
    • simulate the radio telescope observation strategy
    • simulate telescope noise
  • Topology: methods to estimate the topology of the region of interest
  • Foreground model: methods to simulate and analyse the foreground signal for 21 cm signal

For detail documentation and how to use them, see here.

Under Developement

  • Radio telescope beam:
    • simulate the sensitivity and evolution of the primary beam
    • simulate the impact of side-lobes

INSTALLATION

Before installing this package, please make sure that cython and numpy are installed. One can install a stable version of this package using pip by running the following command::

pip install tools21cm

This package is being actively under-development, which involves addition of new modules and bug fixes. In order to use the latest version, one can clone this package.

To install the package from source, one should clone this package running the following::

git clone https://github.com/sambit-giri/tools21cm.git

To install the package in the standard location, run the following in the root directory::

python setup.py install

In order to install it in a separate directory::

python setup.py install --home=directory

One can also install the latest version using pip by running the following command::

pip install git+https://github.com/sambit-giri/tools21cm.git

The dependencies should be installed automatically during the installation process. If they fail for some reason, you can install them manually before installing tools21cm. The list of required packages can be found in the requirements.txt file present in the root directory.

Tests

For testing, one can use pytest or nosetests. Both packages can be installed using pip. To run all the test script, run the either of the following::

python -m pytest tests

nosetests -v

CONTRIBUTING

If you find any bugs or unexpected behavior in the code, please feel free to open a Github issue. The issue page is also good if you seek help or have suggestions for us. For more details, please see here.