fg21sim
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 emissiongalactic/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
-
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 byhealpy <https://github.com/healpy/healpy>.LLVM <http://llvm.org/>: (required byllvmlite <http://llvmlite.pydata.org/>that is further required byNumba <http://numba.pydata.org/>_)
-
Clone this repository::
$ git clone https://github.com/liweitianux/fg21sim
-
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
python3andpip3are pointed to the virtual environment. -
Install this software into the virtual environment::
(venv) $ python3 setup.py install
-
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