ValSKA-HERA-beam-FWHM
An open-source, reproducible, flexible, and extensible package for validating the sensitivity of 21-cm power-spectrum inference to imperfect knowledge of the interferometric primary-beam FWHM.
Overview
ValSKA-HERA-beam-FWHM provides a Bayesian science-validation case study for the Hydrogen Epoch of Reionization Array (HERA), using the BayesEoR modelling framework.
The focus of this repository is validation tooling: enabling controlled, inspectable, and reproducible studies of how modelling assumptions — here, uncertainty in the primary-beam full width at half maximum (FWHM) — propagate through a full 21-cm power-spectrum inference pipeline.
This repository is developed as part of the UK Square Kilometre Array Regional Centre (UKSRC) science-validation effort.
Features
Bayesian 21-cm inference Uses BayesEoR to perform joint Bayesian modelling of spectrally smooth foreground emission and a stochastic 21-cm signal from the Epoch of Reionization.
Instrumental sensitivity validation Quantifies the robustness of inferred 21-cm power spectra to controlled perturbations in the assumed primary-beam FWHM.
Reproducible HPC workflows Explicit separation of run preparation, CPU precompute, and GPU inference stages enables resumable, auditable, and HPC-appropriate execution.
Contents
ValSKA-HERA-beam-FWHM includes:
Validation results from BaNTER (Bayesian Null-Test Evidence Ratio) analyses
BayesEoR chain files from mock HERA foreground-only and foreground-plus-signal datasets
Full provenance records for all validation runs
Command-line tooling for preparing, submitting, and managing ensembles of BayesEoR runs
Installation
General guidance:
Clone the repository
Install dependencies using
condaormambawith the supplied environment file:conda env create -f valska_env.yaml
valska_env.yamlis configured for Galahad by default For Azimuth, comment outcudatoolkitand uncommentcudain the environment file
Note: This repository provides validation tooling and job orchestration. It does not automatically create conda environments, clone BayesEoR, or manage HPC accounts.
BayesEoR validation workflow (high-level)
This repository supports reproducible, sweep-based validation studies in which BayesEoR analyses are repeated across multiple controlled FWHM perturbations.
At a high level, the workflow is:
Define a validation sweep over beam FWHM
Prepare self-contained BayesEoR run directories
Submit CPU and GPU stages with explicit dependencies
Inspect, resume, or extend runs as needed
The recommended user interface for this workflow is the valska-bayeseor-sweep command, which builds on lower-level prepare and submit tooling.
For post-processing, valska-bayeseor-report can be run on any existing sweep directory to generate summary tables and evidence comparison plots retroactively.
Detailed usage examples, expected outputs, and recovery patterns are documented separately.
Documentation
Documentation is hosted on ReadTheDocs.
Detailed command-line examples and workflow patterns are provided in:
That document is the primary reference for:
Preparing validation sweeps
Submitting CPU and GPU stages
Partial submission and recovery
Resubmission after walltime
Inspecting manifests and job records
Testing
For comprehensive testing instructions, see the Testing Guide.
Contributing
ValSKA-HERA-beam-FWHM 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.
When creating a pull request, please use the provided pull request template which includes a checklist to ensure:
Self-review of code
Local tests pass (
make python-testandmake notebook-test)Relevant documentation is updated
In order to enforce CI checks on pull requests, branch protection rules are in place on the main branch to:
Require status checks to pass before merging
Require pull request reviews before merging
We use pre-commit hooks to ensure code quality and consistency - please see the Guide to Contributing for further information about setting up and using pre-commit.
For any additional questions or comments, please contact one of the UKSRC science validation tooling team:
Peter Sims (PO) - ps550 [at] cam.ac.uk
Tianyue Chen (SM) - tianyue.chen [at] manchester.ac.uk
Quentin Gueuning - qdg20 [at] cam.ac.uk
Ed Polehampton - edward.polehampton [at] stfc.ac.uk
Vlad Stolyarov - vs237 [at] cam.ac.uk