Skip to content

Instantly share code, notes, and snippets.

View d3v-null's full-sized avatar

Dev Null d3v-null

View GitHub Profile
@d3v-null
d3v-null / README.md
Last active October 5, 2026 10:52
Fixing the Fornax A sky model for MWA EoR1 calibration: model, images, and how to reproduce them

Fixing the Fornax A sky model for MWA EoR1 calibration

The Fornax A entry in srclist_pumav3_EoR0LoBES_EoR1pietro_CenA-GP_2023-11-07 over-predicts visibility amplitude on the baselines MWA calibration uses. Fornax A carries about 46% of the di-calibrate weight at --uvw-min 30l, so that error sets the flux scale for the whole field.

Multiplying the seven Fornax A components by about 0.8 and changing nothing else:

original model rescaled
@d3v-null
d3v-null / rapthor_mwa_setonix_guide.md
Last active October 1, 2026 09:12
Rapthor on MWA data at Pawsey Setonix with the rapthor-mwa Singularity image (ghcr.io/d3v-null/rapthor-mwa), incl. a guide to choosing rapthor settings for MWA

Rapthor on MWA data at Pawsey Setonix with the rapthor-mwa container

ghcr.io/d3v-null/rapthor-mwa is a lean (no Jupyter/conda) Spack build of the LOFAR Rapthor direction-dependent calibration and imaging pipeline with MWA support compiled in:

component version MWA notes
rapthor 2.1.20260630 (py-rapthor +mwa) patched: DP3/WSClean pointed at the MWA beam, facet-beam options dropped, flagged-tile and solar-model robustness fixes (list below)
DP3 6.6.20260819 applybeam.coefficients_path / solve.coefficients_path = /opt/mwa_full_embedded_element_pattern.h5
@d3v-null
d3v-null / mwa-eor1-fornaxa-calibration.md
Last active October 1, 2026 01:37
MWA EoR1: the sky-model error limiting foreground subtraction is Fornax A, not the field catalogue

MWA EoR1: the sky-model error limiting foreground subtraction is Fornax A, not the field catalogue

An investigation into why hyperdrive peel leaves a large coherent residual on MWA EoR1 data, and what actually fixes it. Short version: the field catalogue is fine, GLEAM-X DR2 confirms it, hyperdrive's shapelet code is correct, and the Fornax A model over-predicts visibility amplitude on the baselines MWA calibration uses by about 29%. Rescaling it cuts the coherent residual by a quarter in amplitude, which is 44% in power.

Setup

Dynamic Slurm Pilot Issues

Found 2026-08-21 while validating the SWF-22 Rapthor Marimo demo (swf22_rapthor_broker_demo.py) against pilot_resource=slurm on a long-lived dev cluster (deploy-ubuntu, ~9 days uptime at the time). None of these are specific to that notebook — they block any job requesting pilot_resource=slurm on an affected cluster. SWF-22's default was changed to kubernetes to work around this; see its lib module for the pointer back here.

@d3v-null
d3v-null / README.md
Last active August 27, 2026 14:55
Switching the SRCNet SWF-21/SWF-22 demos over to Oracle OKE - data-locality placement, control plane, images, and the traps (2026-08-27)

Switching the SRCNet demos over to Oracle OKE

About this gist. Gists are flat, so the companion files below are prefixed (script-, manifest-, benchmon-) copies of the repository tree at docs/oke-demo/{scripts,manifests,benchmon}/ on the oke-demo-2026-08-27 branch of ska-src-api-deployment-stack. A path written as docs/oke-demo/scripts/remove-site1-ms.sh below is script-remove-site1-ms.sh here.

OKE PoC — payload delivery across a network boundary

Federating a second HTCondor pilot pool — Kueue + job-gateway on Oracle's managed OKE — with a schedd/collector that lives somewhere else entirely.

Status (2026-08-14): working end to end. A job submitted on the VM is matched to a pilot running in OKE, its sandbox is transferred across the boundary, the payload executes on an Oracle Linux node, and stdout comes back:

Federated Execution (Cool) Stack — Privileged-Access Security Audit (Oracle K8s + future Pawsey Slurm)

Architecture in one paragraph

A client POSTs a job to the Computing Broker, which authorizes via PAPI, exchanges tokens via AAPI, and intersects SCAPI (site capability) with DMAPI (data location) into a candidate set of sites — it never picks the final site itself. The broker submits exactly one run leader (a condor-native local-universe job — this replaced the old Toil/WES stack entirely) to the central HTCondor pool. The run leader fans the job out as a vanilla-universe payload cluster. Independently, each site's Job Gateway is a pure pilot factory: it spawns pilot pods (Kubernetes, Kueue-gated) or Slurm jobs (via slurmrestd + Apptainer) sized to idle demand. When a pilot joins the pool, HTCondor's negotiator matches it to an idle task — this match, not the broker or the gateway, is what decides where a job actually runs ("late binding"). The pilot then runs the payload u

@d3v-null
d3v-null / rapthor_toil_htcondor_glidein.md
Created May 19, 2026 07:55
Rapthor on HTConder / Glidein

Rapthor + HTCondor/GlideinWMS: Architecture, Late-Binding, and Integration Options

Technical analysis for radio astronomers and SKA/SRCNet engineers Date: May 2026


1. Background: The Two Systems

1.1 Rapthor

@d3v-null
d3v-null / dug_smearing.md
Created May 15, 2026 03:14
DP3 bandwidth / time smearing test on DUG

This didn't work but I'm documenting it here in case I want to try it again.

take calibration solutions, fit linear model, update cable lengths in metafits before a second round of preprocessing.

singularity shell --cleanenv --bind /data/curtin_mwaeor/src/mwa-demo/demo:/demo --bind $PWD --workdir $PWD /data/curtin_mwaeor/singularity/mwa-demo_autos_cuda12.5.1.sif
/demo/82_calfit.py \
    --metafits /data/curtin_mwaeor/dev/1274010302/raw/1274010302.metafits \
    --solns /data/curtin_mwaeor/dev/1274010302/hyp_soln_1274010302_kr_75-1667l_src1k_500it_sdc50_el36.692.fits \
 --name hyp_soln --out-dir /data/curtin_mwaeor/dev/1274010302/ \
@d3v-null
d3v-null / rapthor_toil_panda.md
Last active May 13, 2026 07:34
Rapthor / Toil on PanDA

Rapthor + PanDA WMS: Architecture, Late-Binding, and Integration Options

Technical analysis for radio astronomers and SKA/SRCNet engineers Date: May 2026


1. Background: The Two Systems

1.1 Rapthor