Correlate BORG reconstructions with CMB data
Find a file
2026-09-30 09:59:10 +00:00
cmborg Increase max_mcmc in coverage tests and change default confidence intervals of coverage tests 2026-09-30 10:42:17 +01:00
notes Add profile timing notes 2026-03-13 15:54:31 +00:00
scripts Increase max_mcmc in coverage tests and change default confidence intervals of coverage tests 2026-09-30 10:42:17 +01:00
tests Add P-P and TARP plotting routines 2026-09-29 11:15:55 +01:00
.gitattributes Add gitattributes file 2026-04-08 10:18:33 +01:00
.gitignore Minimal end-to-end coverage test 2026-09-29 14:35:42 +01:00
MANIFEST.in Refactor package structure and clean up codebase 2026-02-20 15:01:03 +00:00
pyproject.toml Add P-P and TARP plotting routines 2026-09-29 11:15:55 +01:00
README.md Downgrade types from 64 to 32 2026-09-28 10:09:22 +01:00
requirements-dev.txt Add code as of Aquila Fall 2025 meeting 2025-12-15 16:32:07 +00:00
requirements.txt Add P-P and TARP plotting routines 2026-09-29 11:15:55 +01:00

CMBORG

Cross-correlate BORG density field reconstructions with CMB data (thermal Sunyaev-Zel'dovich effect).

Installation

Clone the repository and install in development mode:

git clone https://git.aquila-consortium.org/Aquila-Consortium/CMBORG
cd CMBORG
pip install -e .

For development (testing, linting):

pip install -e ".[dev]"

Quick start

Run a toy mock inference with scripts/main.py. This generates a synthetic tSZ map from a halo catalog, adds noise, and runs NUTS to recover the profile parameters (P0, xc0, n):

cd scripts
python main.py

Outputs: tsz_map_healpix.png, trace_plot.png, corner_plot.png.

Tests

pytest tests/

Tests cover the interpolation module (1D/2D Catmull-Rom splines, correction factor accuracy vs scipy), tSZ profile models (physical sanity, interpolated vs analytic agreement, JAX differentiability), and cosmological distances.

## To Do

  • Decide whether point source mask is necessary
  • Find what halo mass cut should be used for 10' beam
    • Using 10' as the criterion, gives a minimum halo mass of 10^(13.57) but this can crash the code even at nside=512 since too much memory for GPUs
    • Using 20' (i.e. "resolved" means theta200 >= 2 x beam size) gives a feasible minmum halo mass of 10^(14.41). Feasible at nside=512 - check for 2048
    • Question: What is the particle mass for the halos being used? Might give a sense of a sensible minimum halo mass
  • Check inference ok for nside=2048
  • Check factors of h in e.g. scaling

License

MIT