Compute sensitivies of radio interferometers to the cosmic 21cm signal.
Project description
A python package for calculating the expected sensitivities of 21cm experiments to the Epoch of Reionization and/or Cosmic Dawn power spectrum.
Installation
For Users
Clone/download the package and run pip install [-e] . in the top-level.
If you are a conda user (which we recommend), you may want to install the following using conda rather than them being automatically installed with pip:
$ conda install numpy scipy pyyaml astropy
For Development
Clone/download the package and run pip install [-e] .[dev] in the top-level.
Run pre-commit install; pre-commit install --hook-type=commit-msg to install the pre-commit hook checks.
We recommend using the commitizen tool to write commit messages – we use the commit messages to do our versioning!
Usage
There are two ways to use this code: as a python library or via the CLI. More documentation on using the library can found in the docs, especially in the getting started tutorial A more involved introduction to the CLI can be found in the CLI tutorial.
As a taste, the simplest possible usage is by using the CLI as follows:
$ sense calc-sense <SENSITIVITY_CONFIG_FILE.yml>
Other options to the calc-sense program can be read by using:
$ sense calc-sense --help
An example config file is in this repository under example_configs/sensitivity_hera.yml, which details the various parameters that can be set. In all, three configuration files are required – one defining an observatory, another defining an observation, and the sensitivity one already mentioned.
The CLI can also be used in a two-step process, by running:
$ sense grid-baselines <OBSERVATION_CONFIG_FILE.yml>
and then:
$ sense calc-sense <SENSITIVITY_CONFIG_FILE.yml> --array-file=<ARRAY_FILE.pkl>
where the ARRAY_FILE is produced in the first step (and its location is printed during the execution).
Running Tests
An example of how to run tests is in the Github Workflow testsuite.yaml. In short, just run pytest in the top-level directory after installing the package.
Acknowledgment
For details of the observing strategy assumed by this code, and other relevant scientific information, please see
Pober et al. 2013AJ….145…65P
and
Pober et al. 2014ApJ…782…66P
If you use this code in any of your work, please acknowledge these papers, and provide a link to this repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file 21cmSense-2.0.0.tar.gz
.
File metadata
- Download URL: 21cmSense-2.0.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72189c7ed46603f66095b3f4445175e128eed3c087e63e23408d8e380fe3e9bc |
|
MD5 | 696eb4127a56db9fa6ab5fb2da15ce1b |
|
BLAKE2b-256 | 32c8aa61848ba9fe81d400ab5f5f59959ebfcf71080bf2330a33326c0fe4e362 |
File details
Details for the file 21cmSense-2.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: 21cmSense-2.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 259.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e7587d2b0010424c114e5afc638199307567091b294901b40a51ef2bd74bc29 |
|
MD5 | acf646422614940d5dace8e0f62e6ddd |
|
BLAKE2b-256 | 0d2d59da29faec85e45883d14935c83436b302d1a5ada8f9dcd0f20fb8ec2960 |