Skip to content

feat: campaign carbon estimate and end-of-campaign report (hpc-campaign p4) #1746

Closed

Description

@Jammy2211

Overview

Phase 4 of the hpc-campaign epic: a Green Algorithms energy and carbon estimate for any campaign digest (live or retro) and python -m autofit.campaign report, an end-of-campaign report with a paste-ready paper paragraph. Site constants live in PyAutoNerves.

Plan

  • campaign/carbon.py: E = t × (n_c P_c u_c + n_m × 0.3725 W/GB) × PUE, C = E × CI; usage basis (central) and allocation basis (upper bound); low/high from site.yaml; successful vs failed/rerun split; per-object values
  • CI basis named (South England regional central; national and DESNZ as bounds); optional cached NESO fetch, offline by default; --begin hint off by default
  • campaign report: compute, carbon, failure census, per-stage tables, results pointers, paper paragraph ('estimate', range, CI basis; no 'savings')
  • PyAutoNerves: CI keys in the site schema and site/ral.yaml (unverified)
  • Witness W4: DR1 carbon estimate from the W2 retro digest
  • Tier: judge — merge mode: human /prm

Heart RED at the door (2026-10-30): release validation FAILED (stage integrate); PyAutoHeart/workflows/Release Integrate failure; PyAutoNerves test_fitsable.py::test__output_to_fits red; Unit-test timing: 1 regression (>3× baseline), 14 slow; autogalaxy red; Release validation NOT release_ready (v2026.10.30.1.dev85101); autolens_profiling red; Worktree drift 1 dirty. Human override for Heart RED (development only) authorized live by the human for hpc-campaign phases 3 and 4 ("Override, proceed"). Merge still needs green CI and a separate /prm; no release.

Detailed implementation plan

Branch survey: ./fit/PyAutoFit main (7d0fe9d) clean. Suggested branch: feature/hpc-campaign-p4-carbon-report.

Files: autofit/campaign/carbon.py, report.py, __main__.py (add report/carbon); PyAutoNerves autonerves/site_config.py + site/ral.yaml (ci table per basis, low/central/high, unverified). Tests: DR1 worked fixture reproduces report §1.4 (≈1.7 MWh, ≈0.22 tCO2e, 0.12–0.85 t) within rounding; both bases; ranges; no network by default; paragraph wording. Rebases onto phase 3 for __main__.py.

Original Prompt

Click to expand starting prompt

Issued: 2026-10-30
Epic: hpc-campaign
Phase: 4
Blocked-by: phase 2 (COMPLETE 2026-10-30)
Concurrent-with: hpc-campaign phase 3 (owns campaign/evidence.py, plan.py, pilot.py); this task owns campaign/carbon.py, report.py + PyAutoNerves site CI keys; shared campaign/main.py — rebases after p3
Consequence: judge
Autonomy: human-required
Witness: W4 — DR1 carbon estimate (central + range, both bases, CI basis named, labelled estimate) from the W2 retro digest, in Workspace/Science/scratch/hpc_campaign_p4_w4/

HPC campaign phase 4 — carbon and campaign report

Original request (human, 2026-10-30): "do both" (hpc-campaign phases 3 and 4, in parallel), after
"Ctoninue the PyAutoLEns II HPC runs and Results".

Lane prompt: Workspace/Science/scratch/pyautolens_ii_campaign_results_scoping_2026-10-28/PROMPT_hpc_campaign.md §Phase 4;
report §1.4 (draft/research/autofit/hpc_campaign_epic_report.md).
@PyAutoFit: Green Algorithms model, usage (central) + allocation (upper) bases, site low/high ranges, CI basis
named, optional cached NESO fetch (offline default), --begin hint off by default, successful vs failed/rerun
split, per-object values; campaign report from a live or retro digest with a paste-ready paper paragraph
("estimate", range, CI basis; no "savings" wording). @PyAutoNerves: CI keys in site schema + site/ral.yaml.
Done: §1.4 DR1 fixture reproduced within rounding; W4.

Activity

  1. Jammy2211 commented on Oct 30, 2026

    @Jammy2211
    CollaboratorAuthor

    Library PR(s) open under the human-authorized Heart RED development override (RED reasons quoted in the issue body). Branch gates passed: full PyAutoFit suite (p3 4,120 / p4 4,143), smoke autofit 10/0, independent review FINDINGS all fixed with tests. PRs: #1747 (p3) → #1748 (p4, stacked) + PyAutoNerves#209. Merge needs green CI and /prm.

  2. Jammy2211 commented on Oct 30, 2026

    @Jammy2211
    CollaboratorAuthor

    Shipped

    hpc-campaign phase 4 merged to main (pending release): #1748 (merge a7798cb, retargeted to main after #1747) + PyAutoNerves#209 (merge 68cbac376). Carbon estimate (Green Algorithms, usage + allocation bases, site ranges) and campaign report. All CI legs green; full suite 4,143; smoke autofit green; Nerves 284; independent review findings fixed. Witness W4 in the human scratch folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions