Skip to main content

Compute sensitivies of radio interferometers to the cosmic 21cm signal.

Project description

PyPI - Version https://codecov.io/gh/rasg-affiliates/21cmSense/branch/main/graph/badge.svg https://img.shields.io/badge/code%20style-black-000000.svg Documentation Status https://img.shields.io/github/license/Ileriayo/markdown-badges?style=flat https://joss.theoj.org/papers/10.21105/joss.06501/status.svg

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

To test that the package has installed correctly, install with pip install -e .[test] and run pytest in the top-level directory.

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!

See the contributing docs for more information about how to contribute to the project!

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

21cmsense-2.2.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

21cmSense-2.2.0-py3-none-any.whl (262.5 kB view details)

Uploaded Python 3

File details

Details for the file 21cmsense-2.2.0.tar.gz.

File metadata

  • Download URL: 21cmsense-2.2.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for 21cmsense-2.2.0.tar.gz
Algorithm Hash digest
SHA256 2401ee6cdad5d9c839cb0962b100174f144d4e1254e314bcf1032cec14672dfe
MD5 8737ecc10d81995a650e0241bab97e9e
BLAKE2b-256 13702dafa5e30a6ddf9698a9a2dd0df0dffc6ffd20bbc6df4ca026dc82e07aef

See more details on using hashes here.

Provenance

The following attestation bundles were made for 21cmsense-2.2.0.tar.gz:

Publisher: deploy.yaml on rasg-affiliates/21cmSense

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file 21cmSense-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: 21cmSense-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 262.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for 21cmSense-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d209b6385988f5fb5b91185ece3e54a2c2954bf048723cd658ae3143cad99ed
MD5 c9a3f0b5632e024800605f714cdf0bac
BLAKE2b-256 92cdd2d844ded6d8bfe5d2c0edacb1442c14683cd86adb623711fce59d32d49a

See more details on using hashes here.

Provenance

The following attestation bundles were made for 21cmSense-2.2.0-py3-none-any.whl:

Publisher: deploy.yaml on rasg-affiliates/21cmSense

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page