Paper 1 · D14 / G6 convergence check · dry run on F1 (S24 C2K2)

Does the F=4 template move the ePSF and WCS?

The ePSF/WCS calibration is fitted on the F=1 Hotpants difference image. We refitted it on the F=4 per-band final difference image and measured what changed.

No meaningful change. Three independent pairings agree: star positions move by about 0.3 mpx, the ePSF size by at most 0.17×10⁻³ px², and fluxes by at most 0.3 ppt. The optimiser's training length and starting point move the fit 5–15× more than the template does.
0.26–0.36 mpxeffective position change, rms (tolerance 2 mpx)
0.07–0.17ePSF size change, 10⁻³ px² (tolerance 0.2)
≤ 0.32 pptmedian flux change per Tmag bin (tolerance 1 ppt)
1.5–4.1 mpxsame image, longer training or another start
2026-09-30 / 10-01run dir /astro/armin/koji/syndiff/dev_runs/d14_refit_20260930code dev f5e3605 (pb-a3-pin)
Setup

What was compared

The Paper 1 pipeline (MODEL_FREEZE D15) fits the ePSF/WCS on the F=1 Hotpants difference image, builds the F=4 per-band template from that fit, makes the final difference image, then refits on it (D14) to check nothing moved. The fit stars (T<13) are never in either template, so the template only changes the faint neighbours and background around them.

The official check waits on the D16 fit recipe. This dry run uses the chain that already exists on disk:

  • Fit: the chroma-v2 A3 fit of F1 (plain fine-neighbour prior, dev f5e3605).
  • F=4 image: perband_3field_20260929 … band_a3w, built with that fit's kernels and the adopted D13 band weights.
  • Refit scene: the F=1 training scene with only the pixel values swapped for the F=4 image. Stars, 15×15 stamps, roles, masks and neighbour pairs are unchanged. Swapping the F=1 image back in reproduces the original scene bit for bit.
  • Pedestal: the F=4 image sat a uniform +0.0176 e⁻/s above the F=1 image. It was subtracted before fitting; one run keeps it to measure its effect.
runimagestartstepsrole
A3F=1#14 fit1,500the existing calibration
R0F=1#14 fit1,500rerun: reproduces A3 bit for bit (fitter is deterministic)
R1F=4#14 fit1,500image effect, same start
R1rawF=4, pedestal kept#14 fit1,500pedestal effect
R2 / R2cF=4 / F=1A3 (warm)+1,500literal D14 refit and its F=1 control
R3 / R4F=1 / F=4other-sector A3 (leak-free)300 / 3,000 / 2,000neutral-start pair

How a star's position change is measured

The WCS and the ePSF centroid can trade off against each other without moving where a star lands, so each comparison uses the effective position change

$$\Delta\mathbf{x}_i^{\rm eff} = B_i\,\Delta\mathbf{c} \;+\; \Delta\bar{\mathbf{m}}(\mathbf{r}_i)$$
  • $\Delta\mathbf{x}_i^{\rm eff}$: change in star $i$'s rendered position between two fits [TESS px; quoted in mpx].
  • $B_i$: the Chebyshev WCS basis evaluated at star $i$ (21 terms per axis, fixed by the scene's source bundle).
  • $\Delta\mathbf{c}$: difference of the fitted wcs_coeff vectors (42 coefficients, fitted).
  • $\Delta\bar{\mathbf{m}}(\mathbf{r}_i)$: change in the ePSF's Gaussian-windowed centroid ($\sigma=1.5$ px window), interpolated from the 6×6 node grid to the star's detector position $\mathbf{r}_i$ [px].

ePSF size uses the same window: $T = I_{xx}+I_{yy}$, the sum of the windowed second moments of a node's ePSF [px²]; elongation is $e_1 = I_{xx}-I_{yy}$ and $e_2 = 2I_{xy}$.

Before fitting

How much do the fitted pixels change?

Comparing the two images over the 14,733 scene stars: the star cores barely change (median core-flux change −0.01 to −0.06 ppt from T7 to T13), while pixels beyond about 4 px change by a robust 0.65σ of the noise. Those changes form 2–3 px blobs, most likely faint (T>13) neighbours that the per-band template removes differently. The noise plane is identical in both images.

Median per-band minus F=1 stamp difference in four Tmag bins, pixel change histogram, core flux and pedestal change versus Tmag, pedestal map on the CCD
Per-band (F=4) minus F=1 pixels in the scene stamps. Top: median difference stamp by Tmag. Bottom: pixel ΔD/σ distribution against a unit Gaussian (heavy tails), core flux change (≈0), stamp pedestal change versus Tmag and its map on the CCD. The +0.017 e⁻/s offset is mostly uniform, with smaller large-scale structure.
Robust scatter of pixel change versus radius by magnitude, fraction above 3 sigma, and core flux change versus Tmag
Change grows with radius. Scatter of ΔD/σ is 0.07–0.37 at the core and about 0.65 beyond 4 px; core flux changes are centred on zero.
Six stamps with the most pixels changed by more than 4 sigma: F=1 data, per-band data, and their difference
The six most-changed stamps. The star itself is the same in both images; the changes are background blobs from faint neighbours.
Result

Template effect vs. optimisation effect

Blue bars compare F=4 with F=1 under matched training. Orange bars keep the F=1 image and change only the optimisation. The grey bar is the difference between two half-fits on different star halves (heldout harness), a loose statistical yardstick.

Horizontal log-scale bar charts of position, ePSF size and flux changes for each comparison, with dashed draft tolerances
Every template comparison sits below every draft tolerance. Log scale. Extra training (1,500 steps) and a different start move positions by 1.5 and 4.1 mpx, past the 2 mpx tolerance.
comparisoneff. position rms / max [mpx]ΔT median [10⁻³ px²]flux by Tmag 7–9 … 12–13 [ppt]largest colour-term change
F=4 vs F=1, same start R1−A30.26 / 2.5−0.07−0.10 … −0.133e-4
F=4 vs F=1, both warm +1500 R2−R2c0.33 / 3.7−0.17−0.16 … −0.185e-4
F=4 vs F=1, neutral start R4−R30.36 / 1.8−0.15−0.11 … −0.327e-4
pedestal left in R1raw−R10.06 / 0.4+0.07+0.08 … +0.201e-4
+1500 steps, same F=1 image R2c−A31.50 / 15.6−0.76≈ 01.4e-3
other start, same F=1 image R3−A34.11 / 55−1.53+0.4 … +1.38.6e-3
split-half fold1−fold09.9 / 77−3.5−0.1 … −1.41.1e-2
rerun floor R0−A30 / 0000
Histograms of per-star effective position change for template and optimisation comparisons, and flux ratio versus Tmag with 16 to 84 percent bands
Per star. Left: the template comparisons (solid) peak near 0.1–0.2 mpx; the optimisation comparisons (dashed) peak at 1.2 and 2.6 mpx. Dotted line: 2 mpx tolerance. Right: median flux change stays within 0.2 ppt of zero at every magnitude; the per-star 16–84 % band widens to about ±1.3 ppt at T≈13, from neighbour light that differs between the images.
Grid of nine comparison columns: WCS position change quiver, per-node ePSF size and elongation change, and flux ratio versus Tmag
Spatial detail for every comparison. Columns, left to right: F=4 vs F=1 same start; warm refit vs A3; F=4 vs F=1 both warm; +1500 steps on F=1; F=4 vs F=1 neutral start; pedestal; rerun floor; other start on F=1; split-half. Rows: WCS position change (quiver; rms in the corner), per-node ΔT and Δe₁ [10⁻³ px², colour range ±1], flux ratio − 1 versus Tmag (dotted ±1 ppt). The warm refit (col 2) and the F=1 extra-training control (col 4) show the same swirl and the same central-node sharpening, so that motion comes from training, not the image. Scroll sideways on small screens.
Node-averaged ePSF difference images for each comparison, in parts per thousand of the peak
Node-averaged ePSF difference, in ppt of the peak. The template comparisons stay below about 0.5 ppt. Longer training and the warm refit show a ±3 ppt dipole: the ePSF centroid moves and the WCS moves the opposite way, which is why the effective position change is about half the raw WCS change.
Training

Loss curves

The F=4 image is fitted much better in every pairing (the data term is about 3.4 lower), consistent with cleaner faint-neighbour removal. The other-sector start (R3, R4) ends well above A3 (data term 26.2 and 22.6 against 20.3), so those fits had not converged after 5,300 steps; their paired comparison is still fair because both are at the same stage. In several runs the data term creeps upward late in training, the same drift the held-out harness found.

Data term versus training step for the other-sector-start pair and for the A3, R1, R2 and R2c runs
Data term (loss without priors) versus step. Blue: F=1 image; orange: F=4 image. Left: other-sector start, including the 300-step WCS-only stage (flat segment). Right: A3-recipe start and the warm restarts.
Earlier result, 2026-09-24

F=1 vs F=4 Hotpants on the same FFI

Asked alongside this check: is a first-pass F=4 Hotpants worth running? It was measured on 09-24 (template_kernel_20260924/eval/REPORT_old_vs_f1.md): Hotpants ko=2 on the adopted FFI, scored on the same frozen 2,467 stars (13 ≤ T ≤ 17).

TmagF=1 Hotpants, median star χ²(r≤2.5)F=4 Hotpantsratio
all14.95.72.6×
13–1445.214.63.1×
14–1511.14.02.8×
15–163.21.62.0×
16–171.241.001.2×
Median stacks of difference over predicted flux by Tmag for F=4 and F=1 Hotpants
Median stacks by Tmag. Top F=4, bottom F=1. F=1 leaves a stronger core residual at T13–14.
Per-tile median chi-squared maps for both products, star counts per tile, and log ratio F=1 over F=4
Per-tile χ². Bottom right: log₁₀(F=1 / F=4). F=1 is worse nearly everywhere, up to about 3× per tile.
Zoomed difference images in four CCD regions for F=4 and F=1 Hotpants and their difference
Zooms in four regions. Bottom row: F=1 minus F=4, concentrated on stars and largest at the optical-axis corner, where the PSF is sharpest.
The 09-24 comparison is not sampling-only: the F=1 template used the initial linear WCS and the F=4 template the temporal WCS. At F=4, switching to the fitted scene WCS barely changes Hotpants (5.72 → 5.58), so most of the gain is likely the finer sampling. An improved-WCS F=1 control was never built.
Implication

F=4 for the reference frame, F=1 for the changes

Taking the Paper 1 WCS/ePSF from an F=4 fit of the reference frame and modelling later frames with F=1 is consistent with these results, provided the changes are measured F=1 to F=1:

$$\theta(t) \;=\; \theta_{F4}(t_0) \;+\; \big[\,\theta_{F1}(t) - \theta_{F1}(t_0)\,\big]$$
  • $\theta$: the fitted calibration parameters (WCS coefficients, ePSF, colour terms).
  • $t_0$: the reference (adopted) frame; $t$: any other frame.
  • $\theta_{F4}$, $\theta_{F1}$: fits on the F=4 and F=1 difference images, with the same recipe, stars and colour file.

Any bias from the F=1 template is then common to every frame and cancels in the bracket. The F=1↔F=4 offset on the reference frame (about 0.3 mpx, ≤0.3 ppt; table above) is the systematic to quote.

Conclusion

What this shows

  • The template does not move the calibration. In three independent pairings, refitting on the F=4 image changes effective positions by 0.26–0.36 mpx rms, ePSF size by 0.07–0.17×10⁻³ px² and fluxes by 0.1–0.3 ppt. All pass the draft D14 tolerances; in position and ePSF size they are 20–50× below the split-half spread.
  • The +0.0176 e⁻/s pedestal is minor: 0.1–0.2 ppt in flux, 0.06 mpx in position.
  • The optimisation is what moves the fit. 1,500 extra steps on the same image: 1.5 mpx and −0.76×10⁻³ px². A different start: 4.1 mpx and up to 1.3 ppt. This is the D16 question (prior, schedule, convergence).
  • Confidence: high for "below tolerance". The fitter is deterministic (rerun floor exactly zero), and three pairings with different starts and schedules agree within 0.1 mpx.

Limits and next steps

  • F1 only, with the plain-prior A3 fit, not the D16 recipe. The official G6 check reruns make_swap_scene.py and the R1/R4 pairs on the D16 fit's per-band image; F2 and S22 are optional replications.
  • The neutral-start fits had not converged; the paired comparison holds, but the absolute R3 result is not a calibration.
  • Residual grids for these runs have not been added to the shared residual-grid canvas yet.
  • Recording "F=4 fit = delivered calibration" in MODEL_FREEZE (D14/D15) is the user's decision; it has not been edited.

Records: README and INDEX line in /astro/armin/koji/syndiff/dev_runs/d14_refit_20260930 · scripts compare_stamps*.py, make_swap_scene.py, make_jobs.sh, compare_fits.py, make_canvas_figs.py