You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restructure repository, improve the user interface, and add module-level functionality to replace the previously required data and beam preprocessing scripts.
A Bayesian approach to estimating the power spectrum of the Epoch of Reionization (EoR) from interferometric observations.
7
8
8
9
BayesEoR provides a means of performing a joint Bayesian analysis of models for large-spectral-scale foreground emission and a stochastic signal from redshifted 21-cm emission emitted by neutral Hydrogen during the EoR.
9
10
10
11
For a detailed description of the methodology, see [Sims et al. 2016](https://ui.adsabs.harvard.edu/link_gateway/2016MNRAS.462.3069S/doi:10.1093/mnras/stw1768) and [Sims et al. 2019](https://ui.adsabs.harvard.edu/link_gateway/2019MNRAS.484.4152S/doi:10.1093/mnras/stz153). For more detail on the methodology and demonstrations using simulated data, see [Sims and Pober 2019](https://ui.adsabs.harvard.edu/link_gateway/2019MNRAS.488.2904S/doi:10.1093/mnras/stz1888) and [Burba et al. 2023](https://ui.adsabs.harvard.edu/abs/2023MNRAS.520.4443B/abstract).
11
12
13
+
14
+
# Documentation
15
+
16
+
Documentation on how to estimate the power spectrum of redshifted 21-cm emission in a radio interferometric data set using BayesEoR is hosted on [ReadTheDocs](https://bayeseor.readthedocs.io/en/latest/). Below, we provide a brief summary of BayesEoR's installation and use. However, the docs provide more detail and example demonstrations of using BayesEoR with the provided test datasets in `test_data/`.
17
+
18
+
12
19
# Installation
13
20
14
21
### Hardware/Software Dependencies
@@ -20,14 +27,14 @@ BayesEoR relies on GPUs to perform a Cholesky decomposition on large matrices us
This is not an exhaustive list of software versions which are compatible with our analysis, just a guide of what versions we have used succesfully in our BayesEoR analyses.
37
+
This is not an exhaustive list of software versions which are compatible with our analysis, just a guide of what versions we have used successfully in our BayesEoR analyses.
31
38
32
39
#### A Note on Using CPUs
33
40
@@ -55,48 +62,45 @@ BayesEoR is written primarily in python, with the exception of the MAGMA interfa
55
62
- setuptools_scm
56
63
- sphinx
57
64
58
-
If you with to install all of these dependencies with `conda`, you can do so using the included `environment.yaml` file via
65
+
If you with to install all of these dependencies with `mamba` (recommended) or `conda`, you can do so using the included `environment.yaml` file via
59
66
```
60
-
conda env create -f environment.yaml
67
+
mamba env create -f environment.yaml
61
68
```
69
+
If using `conda`, you can replace `mamba` with `conda` in the above command.
62
70
63
-
If you have pre-configured installations of CUDA or MPI, e.g. installations optimized/configured for a compute cluster, we suggest installing `pycuda` and/or `mpi4py` via `pip` (and commenting out `pycuda` and `mpi4py` in the `environment.yaml`file). If you install these dependencies with `conda`, `conda` will install its own CUDA and MPI binaries which may not be desirable. For `pycuda`, you need only have the path to your cuda binaries in your bash `PATH` variable prior to `pip` installation. For `mpi4py`, see [this article](https://researchcomputing.princeton.edu/support/knowledge-base/mpi4py) to ensure `mpi4py` points to the desired MPI installation.
71
+
If you have a pre-configured installation of MPI, e.g. one optimized/configured for a particular compute cluster, we suggest commenting out `mpi4py` in `environment.yaml` and installing `mpi4py` via `pip`. For `mpi4py`, see [this article](https://researchcomputing.princeton.edu/support/knowledge-base/mpi4py) to ensure `mpi4py` points to the desired MPI installation.
64
72
65
-
Similarly, if using a pre-configured implementation of MultiNest, pymultinest can also be installed with`pip` and forced to point to a particular installation by including the MultiNest installation in your `LD_LIBRARY_PATH`. See the pymultinest [documentation](https://johannesbuchner.github.io/PyMultiNest/install.html) for more details.
73
+
Similarly, if using a pre-configured implementation of MultiNest, `pymultinest` can also be installed via`pip` and forced to point to a particular installation by including the desired MultiNest installation in your `LD_LIBRARY_PATH`. See the `pymultinest`[documentation](https://johannesbuchner.github.io/PyMultiNest/install.html) for more details.
66
74
67
75
68
-
# Documentation
76
+
# Running BayesEoR
77
+
78
+
There are two ways to interface with variables in BayesEoR: a yaml configuration file (recommended) or command line arguments. For a list of available command line arguments and their descriptions, run
79
+
```
80
+
python scripts/run-analysis.py --help
81
+
```
82
+
or see the [documentation](https://bayeseor.readthedocs.io/en/latest/) for more info on the analysis parameters used by BayesEoR.
83
+
84
+
The `jsonargparse` package allows for all of these command line arguments to be set via a yaml configuration file. Two example yaml files have been provided: `test_data/eor/config.yaml` and `test_data/eor_fgs/config.yaml`. These example configuration files specify the minimally sufficient variables that must be set for a BayesEoR analysis of EoR only or EoR + foregrounds, respectively. Any variable that can be set via a command line argument can also be set in a yaml configuration file (command line arguments containing dashes in the variable name must be replaced with underscores, i.e. the command line argument `--data-path` can be set in the configuration file via `data_path: "/path/to/data.uvh5"`).
69
85
70
-
Documentation on how to estimate the power spectrum of redshifted 21-cm emission in a radio interferometric data set using BayesEoR is hosted on [ReadTheDocs](https://bayeseor.readthedocs.io/en/latest/).
86
+
`scripts/run-analysis.py` provides an example driver script for running BayesEoR. This file contains all of the necessary steps to set up the `PowerSpectrumPosteriorProbability` class and to run MultiNest and obtain power spectrum posteriors. If using a configuration file, this driver script can be run via
-[Sims et al. 2016](https://ui.adsabs.harvard.edu/abs/2016MNRAS.462.3069S/abstract)
97
+
-[Sims et al. 2019a](https://ui.adsabs.harvard.edu/abs/2019MNRAS.484.4152S/abstract)
98
+
-[Sims et al. 2019b](https://ui.adsabs.harvard.edu/abs/2019MNRAS.488.2904S/abstract)
99
+
-[Burba et al. 2023](https://ui.adsabs.harvard.edu/abs/2023MNRAS.520.4443B/abstract)
81
100
82
101
in their publications.
83
102
84
103
85
-
# Running BayesEoR
86
-
87
-
There are two ways to interface with variables in BayesEoR: command line arguments or config files. For a list of available command line arguments and their descriptions, run
88
-
```
89
-
python run-analysis.py --help
90
-
```
91
-
or see the [documentation](https://bayeseor.readthedocs.io/en/latest/) for more info on the analysis parameters used by BayesEoR.
92
-
93
-
The `jsonargparse` package allows for all of these command line arguments to be set via a yaml configuration file. An example yaml file has been provided (`example-config.yaml`). Any variable that can be set via a command line argument can also be set in this yaml configuration file (command line arguments containing dashes in the variable name must be replaced with underscores, i.e. the command line argument `--data-path` can be set in the configuration file via `data_path: "/path/to/data.npy"`). The example configuration file also specifies the minimally sufficient variables that must be set for a BayesEoR analysis.
94
-
95
-
`run-analysis.py` provides an example driver script for running BayesEoR. This file contains all of the necessary steps to set up the `PowerSpectrumPosteriorProbability` class and to run MultiNest and obtain power spectrum posteriors. If using a configuration file, this driver script can be run via
BayesEoR is an open source project and contributions to this package in any form are very welcome (e.g. new features, feature requests, bug reports, documentation fixes). Please make such contributions in the form of an issue and/or pull request. For any additional questions or comments, please contact one of the BayesEoR project managers:
0 commit comments