aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
blob: 6d74b294a89601d9e61e2fb20c3b5ce1a723027b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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