aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
blob: fefa06d0b772a095061e0457254aa279b45a084b (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
=============================================================
Realistic Foreground Simulation for EoR 21cm Signal Detection
=============================================================

This |fg21sim|_ package provides the tools to simulate the
*realistic* low-frequency radio foregrounds, which can be further
used to test various foreground removal or separation methods, for the
purpose of successfully detecting the 21cm cosmological signal arising
from the neutral hydrogen (HI) at epoch of reionization (EoR).


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)
    (*Note:* need update to simulate within sky patches)
  + ``extragalactic/clusters``:
    Emission from extragalactic galaxy clusters
    (*Note:* only radio *halos* considered at the moment)
  + ``extragalactic/pointsources``:
    Emission from multiple types of extragalactic discrete point sources
    (*WARNING:* need significant updates and integration!)

    Current supported point sources types:

    - Star-forming galaxies
    - Star-bursting galaxies
    - Radio-quiet AGNs
    - Fanaroff-Riley type I (FR-I) AGNs
    - Fanaroff-Riley type II (FR-II) AGNs

* All-sky simulation by utilizing HEALPix
  (*Note:* only support some of the components)
* High-resolution simulation within sky patches
  (*Note:* assume a flat sky for the moment)
* Configuration file allowing fine-grained control
* Modular and extensible
* Handy command line tools, utilities, and modules
* Simple Web UI
  (*WARNING:* need significant updates!)


Requirements
------------
* Linux operating system (other UNIX-like systems not tested)
* `Python <https://www.python.org/>`_: >= 3.4
* `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/>`_ which is a
  dependency of `Numba <http://numba.pydata.org/>`_)


Installation
------------
1. Clone this repository::

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

2. Install the above required software and libraries.

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

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

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

4. Install this ``fg21sim`` package to the virtual environment::

   $ python3 setup.py install

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

   $ fg21sim --help


Development
-----------
To ease the development and tests, you may want to 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 package running with ``DEBUG`` logging level.


Documentations
--------------
To get started, read the `User Guide`_.

**WARNING:**
The documentation is *out-of-date* with the current code, and needs
significant updates!


Contributions
-------------
Great!  Be sure to consult the guidelines in |CONTRIBUTING.md|_.


Authors
-------
* Weitian LI <``weitian@aaronly.me``>
* Zhixian MA <``zxma_sjtu@qq.com``>


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
.. |CONTRIBUTING.md| replace:: ``CONTRIBUTING.md``
.. _CONTRIBUTING.md:
   https://github.com/liweitianux/fg21sim/blob/master/CONTRIBUTING.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