21cmSense v2

21cmSense v2: A modular, open-source 21 cm sensitivity calculator - Published in JOSS (2024)

https://github.com/rasg-affiliates/21cmsense

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    7 of 13 committers (53.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

astronomy interferometry radio-astronomy mesh hydrology energy-system exoplanet hydraulic-modelling polygon gravitational-lensing

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 6 months ago · JSON representation ·

Repository

Code for calculating the sensitivity of 21cm experiments to the EoR power spectrum

Basic Info
  • Host: GitHub
  • Owner: rasg-affiliates
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 10.8 MB
Statistics
  • Stars: 11
  • Watchers: 3
  • Forks: 12
  • Open Issues: 17
  • Releases: 7
Created over 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.rst

=========
21cmSense
=========

.. image:: https://img.shields.io/pypi/v/21cmSense
   :alt: PyPI - Version
   :target: https://pypi.org/project/21cmSense
.. image:: https://codecov.io/gh/rasg-affiliates/21cmSense/branch/main/graph/badge.svg
  :target: https://codecov.io/gh/rasg-affiliates/21cmSense
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
  :target: https://github.com/psf/black
.. image:: https://readthedocs.org/projects/21cmsense/badge/?version=latest
  :target: https://21cmsense.readthedocs.io/en/latest/?badge=latest
  :alt: Documentation Status
.. image:: https://img.shields.io/github/license/Ileriayo/markdown-badges?style=flat
  :target: ./LICENSE.rst
.. image:: https://joss.theoj.org/papers/10.21105/joss.06501/status.svg
   :target: https://doi.org/10.21105/joss.06501

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 

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 

and then::

    $ sense calc-sense  --array-file=

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.

Owner

  • Name: rasg-affiliates
  • Login: rasg-affiliates
  • Kind: organization
  • Email: rasgmanagers@gmail.com

Projects affiliated with the RadioAstronomySoftwareGroup.

JOSS Publication

21cmSense v2: A modular, open-source 21 cm sensitivity calculator
Published
May 09, 2024
Volume 9, Issue 97, Page 6501
Authors
Steven G. Murray ORCID
Scuola Normale Superiore, Italy
Jonathan Pober ORCID
Department of Physics, Brown University, Providence, RI, USA
Matthew Kolopanis ORCID
School of Earth and Space Exploration, Arizona State University, Tempe, AZ, USA
Editor
Arfon Smith ORCID
Tags
astronomy 21 cm Cosmology

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Murray
  given-names: Steven G.
  orcid: "https://orcid.org/0000-0003-3059-3823"
- family-names: Pober
  given-names: Jonathan
  orcid: "https://orcid.org/0000-0002-3492-0433"
- family-names: Kolopanis
  given-names: Matthew
  orcid: "https://orcid.org/0000-0002-2950-2974"
contact:
- family-names: Murray
  given-names: Steven G.
  orcid: "https://orcid.org/0000-0003-3059-3823"
doi: 10.5281/zenodo.11127253
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Murray
    given-names: Steven G.
    orcid: "https://orcid.org/0000-0003-3059-3823"
  - family-names: Pober
    given-names: Jonathan
    orcid: "https://orcid.org/0000-0002-3492-0433"
  - family-names: Kolopanis
    given-names: Matthew
    orcid: "https://orcid.org/0000-0002-2950-2974"
  date-published: 2024-05-09
  doi: 10.21105/joss.06501
  issn: 2475-9066
  issue: 97
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6501
  title: "21cmSense v2: A modular, open-source 21 cm sensitivity
    calculator"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06501"
  volume: 9
title: "21cmSense v2: A modular, open-source 21 cm sensitivity
  calculator"

GitHub Events

Total
  • Create event: 20
  • Release event: 2
  • Issues event: 6
  • Watch event: 4
  • Delete event: 18
  • Member event: 1
  • Issue comment event: 81
  • Push event: 138
  • Pull request review comment event: 11
  • Pull request review event: 63
  • Pull request event: 94
  • Fork event: 4
Last Year
  • Create event: 20
  • Release event: 2
  • Issues event: 6
  • Watch event: 4
  • Delete event: 18
  • Member event: 1
  • Issue comment event: 81
  • Push event: 138
  • Pull request review comment event: 11
  • Pull request review event: 63
  • Pull request event: 94
  • Fork event: 4

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 485
  • Total Committers: 13
  • Avg Commits per committer: 37.308
  • Development Distribution Score (DDS): 0.551
Past Year
  • Commits: 172
  • Committers: 7
  • Avg Commits per committer: 24.571
  • Development Distribution Score (DDS): 0.558
Top Committers
Name Email Commits
Steven Murray s****y@a****u 218
pre-commit-ci[bot] 6****] 100
DanielaBreitman d****n@m****a 53
Matthew Kolopanis M****s@g****m 49
dependabot[bot] 4****] 25
Jonathan Pober j****r@g****m 15
Willow Smith w****h@b****u 11
Jonathan Pober j****r@d****u 8
Jonathan Pober j****r@c****l 2
Danny Price d****n@t****m 1
Danny Jacobs d****s@a****u 1
Jonathan Pober j****r@d****k 1
Jonathan Pober j****r@d****u 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 56
  • Total pull requests: 213
  • Average time to close issues: 12 months
  • Average time to close pull requests: 19 days
  • Total issue authors: 14
  • Total pull request authors: 8
  • Average comments per issue: 1.02
  • Average comments per pull request: 1.39
  • Merged pull requests: 191
  • Bot issues: 1
  • Bot pull requests: 138
Past Year
  • Issues: 9
  • Pull requests: 97
  • Average time to close issues: 2 days
  • Average time to close pull requests: 5 days
  • Issue authors: 6
  • Pull request authors: 7
  • Average comments per issue: 0.33
  • Average comments per pull request: 1.38
  • Merged pull requests: 87
  • Bot issues: 0
  • Bot pull requests: 83
Top Authors
Issue Authors
  • steven-murray (31)
  • jpober (7)
  • mkolopanis (4)
  • DanielaBreitman (4)
  • bpape1usa (2)
  • sophiarubens (1)
  • piyanatk (1)
  • 1222qs (1)
  • adampbeardsley (1)
  • AbinashKumarShaw (1)
  • tyler-a-cox (1)
  • telegraphic (1)
  • dependabot[bot] (1)
  • ShaneBechtel (1)
Pull Request Authors
  • pre-commit-ci[bot] (114)
  • steven-murray (61)
  • dependabot[bot] (44)
  • DanielaBreitman (9)
  • dannyjacobs (2)
  • wps2n (2)
  • mkolopanis (2)
  • telegraphic (2)
Top Labels
Issue Labels
good first issue (3) priority: low (3) status: requires discussion (1) type: maint: refactoring (1) type: performance: cpu (1) priority: medium (1) type: performance: memory (1) type: feature: ui (1) dependencies (1) github_actions (1)
Pull Request Labels
type: maint: dependencies (33) github_actions (20) dependencies (6) priority: medium (4) type: maint: documentation (2) type: feature: physical (2) priority: high (2) type: accuracy (2) type: bug (2) enhancement (1) documentation (1)

Dependencies

.github/workflows/deploy.yaml actions
  • actions/checkout main composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/run-docs-code.yaml actions
  • actions/checkout master composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2.0.0 composite
.github/workflows/test-deploy.yaml actions
  • actions/checkout master composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/test-with-warnings.yaml actions
  • actions/checkout master composite
  • conda-incubator/setup-miniconda v2.0.0 composite
.github/workflows/testsuite.yaml actions
  • actions/checkout master composite
  • codecov/codecov-action v2 composite
  • conda-incubator/setup-miniconda v2.0.0 composite
docs/requirements.txt pypi
  • ipython *
  • nbsphinx *
  • numpydoc *
  • sphinx >=1.3
  • sphinx-rtd-theme *
pyproject.toml pypi
setup.py pypi
.github/workflows/auto-merge-deps.yml actions
  • actions/checkout v4 composite
  • ahmadnassri/action-dependabot-auto-merge v2 composite
.github/workflows/check-build.yml actions
  • actions/checkout master composite
  • actions/setup-python v5 composite
.github/workflows/labeler.yaml actions
  • actions/checkout v4 composite
  • crazy-max/ghaction-github-labeler v5.0.0 composite
.github/workflows/release-draft.yml actions
  • actions/checkout master composite
  • actions/setup-python v5 composite
  • release-drafter/release-drafter v5.25.0 composite
docs/environment.yml conda
  • astropy >=5
  • attrs
  • cached_property
  • click
  • future
  • ipython
  • methodtools
  • nbsphinx
  • numpy <1.22
  • numpydoc
  • pandoc
  • pip
  • python 3.10.*
  • pyuvdata
  • pyyaml
  • rich
  • scipy
  • setuptools_scm
  • sphinx >=5.0
  • tqdm