Mop-c-GT: Forward Modeling SZ Pipeline
- 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 , density , line-of-sight peculiar velocity ) 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, 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- parameter as a function of angular radius is
where is the Thomson cross-section, is the electron pressure profile, the projected halo-centric radius, and 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 is
with the electron density and the line-of-sight peculiar velocity.
Two-halo term: Optionally, the total profile includes correlated large-scale structure:
where the default amplitude , and follows established literature such as Vikram et al. (2017).
Profile parameterizations (e.g., generalized NFW):
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., ):
- Halo Cuts: Two alternatives— cuts or stellar mass .
- Mass Weighting: User optional, e.g., weights matching observed BOSS CMASS .
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 , , , , and (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 ( 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., 1000 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., , ) 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:
- Statistic:
- MCMC Likelihood:
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 (): Tests over , $50$, $100$ Mpc yield differences for practical profiles.
- Beam kernels: Both “old ACT” and “updated ACT” beams (empirically measured via stacked point sources) are supported, with level differences.
- Convolution methods: Direct FFT versus FHT.
- Mass selection windows: – shifts in or .
- Two-halo amplitudes: User-selectable (e.g., ).
- 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)