Papers
Topics
Authors
Recent
Search
2000 character limit reached

Mop-c-GT: Forward Modeling SZ Pipeline

Updated 23 February 2026
  • Mop-c-GT Pipeline is a Python-based toolkit that advances forward modeling of thermal and kinetic SZ effects using halo catalogs from simulations like IllustrisTNG.
  • It implements modular processes including halo selection, profile generation, LOS projection, beam convolution, and profile extraction for accurate survey comparisons.
  • The pipeline supports robust uncertainty quantification and model validation through stacking, covariance analysis, and MCMC likelihood diagnostics.

Mop-c-GT Pipeline

Mop-c-GT is a Python-based scientific pipeline designed for forward modeling of Sunyaev–Zeldovich (SZ) effect profiles in cosmological analyses. It enables systematic production of mock thermal (tSZ) and kinetic (kSZ) SZ maps from halo catalogs derived from large hydrodynamical simulations, such as IllustrisTNG. Mop-c-GT implements modular abstractions—halo selection, physical profile generation, line-of-sight projection, beam convolution, and survey-matched profile extraction—allowing robust comparison between simulated and observed SZ measurements, critical for characterizing systematics and interpreting galaxy cluster and group astrophysics (Moser et al., 2023).

1. Architectural Overview

Mop-c-GT is structured as an extensible toolkit composed of Python modules, orchestrated by a high-level driver script. The pipeline's principal modules and functionalities are:

  • HaloSelection: Ingests simulation-based halo catalogs (e.g., IllustrisTNG SUBFIND), applies mass and redshift selection, and optionally weights halos to match observed mass functions.
  • ProfileGeneration: Extracts or synthesizes spherical gas thermodynamic profiles (electron pressure Pe(r)P_e(r), density ne(r)n_e(r), line-of-sight peculiar velocity vpec(r)v_\mathrm{pec}(r)) via direct measurement or by fitting GNFW parametric models. Two-halo correlated structure terms can be included.
  • MapProjection: Projects three-dimensional pressure/density profiles into two-dimensional SZ “stamps” by performing line-of-sight integrals for both tSZ and kSZ.
  • BeamConvolution: Convolves 2D SZ maps with survey-specific instrument beams using either 2D FFT on Cartesian grids or Fast Hankel Transform (FHT) for azimuthally-averaged profiles.
  • ObservationalEffects: Simulates observational post-processing, including aperture photometry, apodization, and (optional) noise addition.
  • ProfileExtraction & Stacking: Radially averages and stacks extracted profiles across many halos, supporting user-defined weights and covariance estimation.
  • Likelihood/Comparison: Quantitatively compares model outputs to real survey data with profile ratios, χ2\chi^2 statistics, and MCMC likelihoods.

This module-based design enables fast iteration, standardized comparisons, and cross-compatibility with external survey data (Moser et al., 2023).

2. Formalism and Mathematical Framework

The computational backbone of Mop-c-GT consists of rigorous mathematical formulations for the SZ effects and their mapping from simulation space to observable quantities.

Thermal SZ (tSZ): The dimensionless Compton-yy parameter as a function of angular radius θ\theta is

y(θ)=σTmec2L+LPe(R2(θ)+2)dy(\theta) = \frac{\sigma_T}{m_e c^2} \int_{-L}^{+L} P_e\bigl(\sqrt{R^2(\theta)+\ell^2}\bigr)\,d\ell

where σT\sigma_T is the Thomson cross-section, Pe(r)P_e(r) is the electron pressure profile, R(θ)=DA(z)θR(\theta) = D_A(z)\,\theta the projected halo-centric radius, and LL the integration half-length along the line of sight.

Kinetic SZ (kSZ): The temperature fluctuation due to the kSZ effect for a background CMB temperature TCMBT_\mathrm{CMB} is

ΔTkSZTCMB(θ)=σTcL+Lne(R2+2)vlosd\frac{\Delta T_\mathrm{kSZ}}{T_\mathrm{CMB}}(\theta) = -\frac{\sigma_T}{c} \int_{-L}^{+L} n_e\bigl(\sqrt{R^2+\ell^2}\bigr) v_\mathrm{los}\,d\ell

with ne(r)n_e(r) the electron density and vlosv_\mathrm{los} the line-of-sight peculiar velocity.

Two-halo term: Optionally, the total profile includes correlated large-scale structure:

Ptot(r)=P1h(r)+At2hP2h(r)P_\mathrm{tot}(r) = P_{1h}(r) + A_{t2h} P_{2h}(r)

where the default amplitude At2h=1A_{t2h} = 1, and P2hP_{2h} follows established literature such as Vikram et al. (2017).

Profile parameterizations (e.g., generalized NFW):

Pe(r)=P0(r/Rs)γ[1+(r/Rs)α](βγ)/αP_e(r) = P_0 (r/R_s)^{-\gamma} [1 + (r/R_s)^\alpha]^{-(\beta-\gamma)/\alpha}

are directly supported for flexible, hierarchical modeling.

3. Halo and Profile Construction

The first step is the well-defined selection of halos, typically from IllustrisTNG catalogs at a target snapshot (e.g., z0.55z\approx0.55):

  • Halo Cuts: Two alternatives—M200cM_{200c} cuts 11.3log10(Mh/M)13.911.3 \leq \log_{10}(M_h/M_\odot) \leq 13.9 or stellar mass 9.5log10(M/M)11.79.5 \leq \log_{10}(M_*/M_\odot)\leq 11.7.
  • Mass Weighting: User optional, e.g., weights matching observed BOSS CMASS dN/dMdN/dM.

Profiles may be loaded from simulation snapshot gas particles/cells or generated via parametric fits. Two-halo term augmentation is controlled by config options.

A list of selected halo properties, spatial centroids (x,y,z)(x, y, z), MiM_i, ziz_i, Rs,iR_{s,i}, and wiw_i (weights), are the pipeline's initial products.

4. Forward Modeling: Mapping to 2D Observable Space

Projecting simulated 3D profiles into “mock” sky catalogs involves several algorithmic steps:

  • LOS Projection: For each halo, perform the tSZ and, if desired, kSZ integrals along a configurable line-of-sight (LL typically 10 Mpc, with sensitivity tests for 50–100 Mpc).
  • Beam Convolution: Survey beam models can be implemented using FFTs on large 2D grids (e.g., 10002^2 pixels over 30 arcmin), or FHT on radial profiles; ACT-Planck co-add and empirically-updated beams are among the options, selected via configuration files.
  • Noise Modeling: Optionally inject instrument noise realizations based on empirical survey noise power spectra, though this is not heavily utilized in the reference implementation.

Aperture-photometry filters are used to extract observable radial profiles, with filter radii fully user-configurable.

5. Stacking, Covariance, and Diagnostics

Extracted quantities (e.g., y(θ)y(\theta), ΔTkSZ(θ)\Delta T_\mathrm{kSZ}(\theta)) are binned into radial intervals reflecting survey binning. Stacking is performed over all halos with the chosen weights, and covariance matrices are obtained by bootstrap resampling or analytic weighting.

Data-model comparisons use:

  • Profile Ratios:

Ri=ymodel(θi)yobs(θi),RikSZ=ΔTkSZ,modelΔTkSZ,obsR_i = \frac{y_\mathrm{model}(\theta_i)}{y_\mathrm{obs}(\theta_i)}, \quad R_i^\mathrm{kSZ} = \frac{\Delta T_{\mathrm{kSZ,model}}}{\Delta T_{\mathrm{kSZ,obs}}}

  • χ2\chi^2 Statistic:

χ2=i=1Nbins[ymodel(θi)yobs(θi)]2σy,i2\chi^2 = \sum_{i=1}^{N_\mathrm{bins}} \frac{[y_\mathrm{model}(\theta_i) - y_\mathrm{obs}(\theta_i)]^2}{\sigma_{y,i}^2}

  • MCMC Likelihood:

Lexp(12χ2)\mathcal{L}\propto\exp\left(-\frac{1}{2}\chi^2\right)

Such diagnostics are central to model validation and parameter inference.

6. Configuration, Code Organization, and Reproducibility

All pipeline parameters—selection cuts, profile models, projection, beam, noise, extraction, and stacking—are specified in a YAML or JSON config file. The pipeline can be executed by a single driver script.

Example config.yaml snippet:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
halo_selection:
  type: M200c
  m1: 1e11.3
  m2: 1e13.9
profile_generation:
  model: simulation
  Rmax: 3.0  # in R200 units
projection:
  LOS_length_Mpc: 10.0
beam:
  method: FFT
  FFT:
    map_size_arcmin: 30.0
    npix: 1000
ap_filter:
  θ_disk_arcmin: [1,2,3,4,5,6]
stacking:
  bootstrap_samples: 1000
output:
  prefix: results/mopcgt_CMASS

Driver code (skeleton):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import yaml, numpy as np
from mopcgt import HaloSelection, ProfileGeneration, Projection, BeamConvolution, ApFilter, Stacker

cfg = yaml.safe_load(open('config.yaml'))
halos = HaloSelection(cfg['sim_catalog'], cfg['halo_selection']).select()
profs = ProfileGeneration(halos, cfg['profile_generation'], two_halo=cfg['two_halo']).compute()
stamps = []
for p in profs:
    y2d = Projection(p, cfg['projection']).compute_y()
    stamp = BeamConvolution(y2d, cfg['beam']).convolve()
    stamps.append(stamp)
profiles = ApFilter(stamps, cfg['ap_filter']).apply()
stacked, cov = Stacker(profiles, halos.weights, cfg['stacking']).compute()
np.savez(cfg['output']['prefix']+'_profile.npz',
         θ_bins=cfg['ap_filter']['θ_disk_arcmin'],
         profile=stacked, covariance=cov)

This structure ensures tractability and reproducibility for simulation-based predictions matched to various observational pipelines (Moser et al., 2023).

7. Evaluation of Alternatives and Systematic Tests

Mop-c-GT is specifically configured to allow systematic variation of multiple modeling choices for uncertainty quantification:

  • LOS integration bounds (LL): Tests over L=10L=10, $50$, $100$ Mpc yield 1%\lesssim1\% differences for practical profiles.
  • Beam kernels: Both “old ACT” and “updated ACT” beams (empirically measured via stacked point sources) are supported, with 10%\sim10\% level differences.
  • Convolution methods: Direct FFT versus FHT.
  • Mass selection windows: ±0\pm020%20\% shifts in MhM_h or MM_*.
  • Two-halo amplitudes: User-selectable (e.g., A2h=0,1,2A_{2h}=0,1,2).
  • Aperture filter radii and bin definitions: User-specified for survey compatibility.

Comparative analyses find that simulated tSZ profiles show minimal sensitivity to these model options, with persistent discrepancies between simulation and ACT observations attributed primarily to modeling limitations in the underlying baryonic physics rather than pipeline systematics (Moser et al., 2023).


References:

  • "Searching for Systematics in Forward Modeling Sunyaev-Zeldovich Profiles" (Moser et al., 2023)
Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Mop-c-GT Pipeline.