Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[mbs-0021] SAT beams

Open
#74 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Domain
data

Research direction

Start with the issue's two beam-product options and inspect the listed products under /scratch/gpfs/SIMONSOBS/sat-iso/beams/planets/. Read the SO Wiki “Beams Metadata Version Log” and follow up on the broken strictly-SCR5 link. Done means deciding which granularity and normalization the simulations should use, then recording that decision in the project.

Written by the indexing model from the issue text.

Description

Context

We need to decide which SAT beam products to use in the map based simulations.

These are MEASUREMENTS, not simulations: the beams were measured on sky from radially binned planet maps (azimuthal symmetry of the beam assumed). The radial profile is obtained by fitting Bessel functions of the first kind to the beam core and a power-law wing to the tail, and the window functions come from numerical integration of the profiles (SO Wiki, "Beams Metadata Version Log").

Terminology

  • SAT: Small Aperture Telescope. SO has three (satp1, satp2, satp3); beam products exist for satp1 and satp3.
  • f090 / f150: frequency bands (~90 / ~150 GHz) of the SAT receivers.
  • ws (wafer slot): position on the focal plane, 7 per SAT telescope (ws0..ws6).
  • Beam radial profile: the measured beam brightness as a function of angle from the beam center (theta), assuming azimuthal symmetry.
  • Window function W(ell): transfer function of the beam in harmonic space, by which the underlying sky is multiplied when simulating the observed map.
  • solid angle (omega): integral of the beam over the sky, used to normalize.
  • ell: multipole number (0..1999 in these products).
  • SCR4 / SCR5: Site Cooldown Runs 4 and 5 (SAT-MF1 nomenclature), two successive observing campaigns of the SATs separated by cooldown/maintenance periods. Between them (around January 2025) the focal plane was reconfigured (detector retrofit / wafer swap): some wafers stayed, some were removed, some moved. SCR5 is the current configuration after the swap.
  • Covariance matrices: estimates of the uncertainty of the window function, propagated from the measurement uncertainties (statistical, and from the core-to-wing transition and Bessel scaling parameters).

Two options (differ in granularity of the maps)

  • Option 1 (per-frequency effective beams): 4 maps
    one per telescope and frequency band: satp1_f090, satp1_f150, satp3_f090, satp3_f150
  • Option 2 (per-wafer beams): 28 maps
    one per telescope, band and wafer slot: satp1/satp3 x f090/f150 x ws0..ws6

Products live on Tiger3 under /scratch/gpfs/SIMONSOBS/sat-iso/beams/planets/ :

Option 1: per-frequency effective beams -> 4 maps

Directories:

  • 20260521spline_effective_v4_paper_20260520_science/ (satp1)
  • 20260521spline_effective_v4_paper_20260520_science_satp3/ (satp3)

Files: one beam window function per telescope and band, in two formats:

  • satp1_science_v4_paper_f090.fits / .dat
  • satp1_science_v4_paper_f150.fits / .dat
  • satp3_science_v4_paper_f090.fits / .dat
  • satp3_science_v4_paper_f150.fits / .dat

Contents: the effective beam window function W(ell) for the full telescope and band, combining all 7 wafer slots. .dat: two columns, ell and window function (ell = 0..1999). .fits: healpy table with the 2000 window function values. Normalized to 1 at ell = 0. This is the beam to use when the simulation produces one map per telescope and band (4 maps).

Option 2: per-wafer beams -> 28 maps

Directory:

  • 20260602_bessel_analytic_cov/

Files: one npz per telescope, band and wafer slot: original_cov_fitted_peak_{telescope}{band}{ws}_bessel_analytic_cov.npz

Each npz contains:

  • theta, profile: radial angle (arcmin) and peak-normalized radial beam profile
  • Bl: window function, ell = 0..1999
  • omega, sigma_omega: solid angle and its 1-sigma error
  • analytic_cov_Bl: statistical ell-ell covariance matrix (bin = 1)
  • theta1_cov_Bl: covariance from the core-to-wing transition location uncertainty
  • lmax_cov_Bl: covariance from the Bessel scaling parameter uncertainty
  • sigma_wn_fn_diag: diagonal 1-sigma error on the window function (the three covariance terms added in quadrature)
  • fwhm: estimated FWHM (azimuthal symmetry assumed)

Window function to use: Bl^2 * (2*pi/omega)^2, normalized to 1 at ell = 0. This is the beam to use when the simulation produces one map per wafer slot (28 maps).

Other products in the same folder

  • 20260602_bessel_analytic_cov_effective_v4_paper_20260520_science: per-frequency effective beams with a different (not normalized to 1 at ell = 0) normalization; only the satp3 _norm0 variants are normalized
  • 20260521spline: per-wafer spline window functions (ell, wn_fn), not normalized to 1 at ell = 0, one wafer-slot file missing

Note from the wiki (Beams Metadata Version Log)

The 20260602 products combine beams measured during SCR4 and SCR5, so profiles are mixed between wafers that remained on the focal plane, those removed after SCR4, and those that moved. No large focal plane variation is seen in the profiles, but use with caution; a strictly-SCR5 product exists (the link in the wiki is broken, to follow up with the beam team). The metadata format is for analysis (post-processing of TODs) and may change.

Dominant language
Jupyter Notebook
Stars
6
Forks
3
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from simonsobs/map_based_simulations

All issues in simonsobs/map_based_simulations

Similar issues

More Data Engineering issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.