fg21sim icon indicating copy to clipboard operation
fg21sim copied to clipboard

📡 Foregrounds Simulation for EoR 21 cm Signal Detection 📡

Foreground Simulation for 21 cm Reionization Signal Detection

The |FG21sim|_ is a low-frequency radio foregrounds simulator aiming to provide the simulation of the common foregrounds impeding the 21 cm reionization signal detection. The simulated foregrounds can be used to evaluate the impacts of different foreground components on the EoR signal, and can be also used to help develop and test various foreground removal methods.

Features

  • Supported foreground components:

    • galactic/synchrotron: Galactic synchrotron emission (Note: only the unpolarized part considered)
    • galactic/freefree: Galactic free-free emission
    • galactic/snr: Emission from Galactic supernovae remnants (SNRs)
    • extragalactic/clusters: Emission from extragalactic galaxy clusters (Note: only giant radio halos, the modeling of which is elaborated in our paper: 2019, ApJ, 879, 104 <https://iopscience.iop.org/article/10.3847/1538-4357/ab21bc>; ADS:2019ApJ...879..104L <https://ui.adsabs.harvard.edu/abs/2019ApJ...879..104L>; arXiv:1905.05399 <https://arxiv.org/abs/1905.05399>_)
  • High-resolution simulation within sky patches

  • Fine-grained control with various configuration options

  • Modular and extensible

  • Clean code

  • Command line utilities

Installation

  1. Install the required software and libraries:

    • CFITSIO <https://heasarc.gsfc.nasa.gov/fitsio/fitsio.html>_
    • HEALPix <http://healpix.sourceforge.net/>: only the C++ library required by healpy <https://github.com/healpy/healpy>.
    • LLVM <http://llvm.org/>: (required by llvmlite <http://llvmlite.pydata.org/> that is further required by Numba <http://numba.pydata.org/>_)
  2. Clone this repository::

    $ git clone https://github.com/liweitianux/fg21sim

  3. Install the required third-party Python packages. And it is recommended to use the virtual environment_::

    $ cd fg21sim/ $ make venv $ . venv/bin/activate (venv) $

    Check to make sure that this virtual environment is activated so that the python3 and pip3 are pointed to the virtual environment.

  4. Install this software into the virtual environment::

    (venv) $ python3 setup.py install

  5. You are ready to use this software. Just have a look, e.g.::

    (venv) $ fg21sim --help

Development

To ease the development, install this package in the editable state::

$ cd fg21sim/
$ pip3 install --user -r requirements.txt
$ pip3 install --editable .

In addition, setting the environment variable DEBUG_FG21SIM forces this software to run at the DEBUG logging level.

Documentations

To get started, read the User Guide. See also this simulation example.

License

Unless otherwise declared:

  • Codes developed by us are distributed under the MIT License_;
  • Documentations and products generated by us are distributed under the Creative Commons Attribution 3.0 License_;
  • Third-party codes and products used are distributed under their own licenses. See also |LICENSE-3RDPARTY|_.

.. Workaround for nested inline markups: http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible https://stackoverflow.com/a/4836544/4856091

.. |FG21sim| replace:: FG21sim .. _FG21sim: https://github.com/liweitianux/fg21sim .. _User Guide: https://github.com/liweitianux/fg21sim/blob/master/docs/guide.rst .. _simulation example: https://github.com/liweitianux/cdae-eor/blob/master/doc/data.md .. |LICENSE-3RDPARTY| replace:: LICENSE-3RDPARTY .. _LICENSE-3RDPARTY: https://github.com/liweitianux/fg21sim/blob/master/LICENSE-3RDPARTY .. _virtual environment: https://docs.python.org/3/library/venv.html .. _MIT License: https://opensource.org/licenses/MIT .. _Creative Commons Attribution 3.0 License: https://creativecommons.org/licenses/by/3.0/us/deed.en_US