v1.4.1 engine
用户指定的唯一处理程序;不同 OBSID/region/band 全部由 .par 配置。
XARTATOMS 0900170101 · M31CGM 0800732701 · M31HotISM 0112570101 · esas_playground v1.4.1
2026年7月13日
我们不按“文件名版本号最大”直接排名,而看五类证据。用户已选 esas_playground_v1.4.1.py 为统一 canonical engine;runner/acceptance/failure-corpus 的分工仍由以下证据限定。
.par;redu、C、full 到底打开哪些 step;mos-spectra;用户提到的 xmm/python_scripts/ipynb/esas* 在当前文件树中不存在;实际活跃目录是 xmm/python_xmmscripts/ipynb/esas*。本页把这个 live tree 作为第四套材料,但不会把“最新修改时间”自动等同于“production-qualified”。
本轮 local exemplar 的 wrapper/log 使用 xmmsas_20211130_0941 分发环境,并调用 legacy interfaces mos-spectra 与 mos_back。当前 SAS 在线文档(2026-07-13 回读)分别以 mosspectra 和 mosback 为 task heading;官方 routine concordance 还列出 old→new 名称映射。
因此本教程是 local legacy-runtime audit,不是 current-SAS command migration guide。用户指定 golden runtime 前,不会自动把 task 名改写成 current interface。
| Evidence ID | 公开 source label | 支撑的主张 |
|---|---|---|
XART-E01 / XART-E02 / XART-E03 |
Phase2 pilot/batch wrapper + pilot .par |
clean shell、pilot→batch、background-only/no-fit 配置与 engine hash gate |
XART-E04 |
remaining-six qualification JSON | six new regions qualified;结合 Wind N pilot 得 7/8,S8 unavailable |
CGM-E01 / CGM-E02 / CGM-E03 |
PBS job、v1.3.2 .par、2025-11-30 main log |
historical redu/C、cluster scale、49,609,621-byte log 与 legacy credential caveat |
HOTISM-E009 / HOTISM-E009-QA / HOTISM-E009-RUN |
E009 record、84-gate JSON、pilot wrapper | camera-specific point mask、MOS1/MOS2 products、84/84 PASS、无 unintended PN |
ENGINE-E01 |
esas_playground_v1.4.1.py |
exact engine SHA-256 与本页列出的 source-level improvements/open points |
所有 SHA-256 见 public source inventory。公开 evidence label 不暴露 internal absolute path。
| 维度 | XARTATOMS 0900170101 | M31CGM 0800732701 | M31HotISM 0112570101 | upstream v1.4.1 |
|---|---|---|---|---|
| 真实 engine | esas_playground_v1.4.1.py |
历史 v1.2.0C / v1.3.0,准备迁到 v1.3.2 |
v1.3.2.py |
engine 本体 |
| 入口 | clean-shell pilot / remaining batch wrapper | PBS job_demo_v1.3.2.sh + root batch script |
project runner + compat + mask + linker + verifier | python engine.py config.par |
| 代表 mode | full,但只打开 4.background + extra_region + background |
redu 全链;C 可开 background |
C / custom runner |
支持 full/resume/redu/C... |
| camera | recent R4–7 branch MOS2-only | MOS1+MOS2,历史配置不含 PN | MOS1+MOS2,显式无 PN | MOS/PN 都支持 |
| region | exact FK5 sector + exclusion file | 大批 annulus/Angle2 + exclusion | exact variable-W1 polygon + camera point-source masks | extra_region_list / extra_region_file |
| preflight | clean namespace、SUM count、tool path、geometry tests、pilot release hash | PBS resources / qstat;较少产品级 fail-close | clean env、input hash、inventory、mask rebuild | engine 内部 checks,wrapper 责任较多 |
| output QA | pilot/replay/qualification + no-fit/spatial handoff | 真实日志丰富,但旧流程验收较松 | 84/84 product gates | 不是 release layer |
| log 特征 | recent production + replay;也保留 noisy bootstrap | 49,609,621-byte main log,环境 dump 极重 | targeted audit logs + cognition OS | 历史 log 很多,当前 production log 在项目端 |
| 主要价值 | production discipline | history + scale + failure corpus | geometry/product acceptance | reusable engine logic |
| 主要风险 | 项目专属 wrapper 不能直接泛化 | 过期环境、全量复制、credential、巨型日志 | recovery 逻辑混入 routine runner | rProfile/sync/noisy bootstrap 未完全收口 |
0900170101: 本轮盘点中最完整的 recent production exemplarrun_esas_r47_eight_axis_centered_phase2_pilot_mos2_windN.shrun_esas_r47_eight_axis_centered_phase2_remaining_seven_mos2.shesas_playground_r47_eight_axis_centered_phase2_{pilot,remaining}.par67ce592641201f92bf6952f7ee5555e9c8a508198ee571f924a8caa9d7e96063 (ENGINE-E01)代表性 .par 不是跑 full ODF chain,而是:
[DEFAULT]
obsID = 0900170101
mode = full
[full]
cifbuild = no
odfingest = no
1.calibration = no
2.filter = no
3B.background = no
4.background = yes
extra_region = yes
background = yes
4.fitting = no
[back]
INST = mos2,
generate_spectra_and_back = yes
EMINLIST = 700,
EMAXLIST = 1000,
MASK = 1,
extra_region_file = "<approved source-exclusion.reg>"
extra_region_list = <approved R4-7 sector.reg>,env -i clean shell,显式 HEADAS/SAS/ESAS 初始化;PREFLIGHT_ONLY 可只做 gate,不抽谱;pipeline_finished_qa_pending;XART-E04);test.txt、环境 setup 展开和 Unicode logging error;full 作为“resume-like background only”名称是否应保留,还是改成更明确的 mode。XARTATOMS 的 full + 全部前置 stage=no + 4.background=yes 是你现在推荐的标准 C-mode 写法吗?还是应该使用 C/resume,并把 field preparation 放在另一个 .par?
0800732701: 历史规模化教材,而不是当前模板command_v1.3.2.sh 为每个 OBSID 复制 job/config、sed 替换 OBSID、手工 hardlink sync、qsub;job_demo_v1.3.2.sh 请求 6 CPU / 60 GB,复制 v1.3.2.py 后用 IPython 运行;v1.2.0C.ipynb、mode=redu;redu 同时打开 calibration、filter、source detection、background,说明它是 full observation reduction,不是每个 region 的 routine extraction;v1.3.2.par 里 C mode 用 4.background + cheese + extra_region + background;[back] 包含大量 Angle2 region。redu / B / C / C1 / C2 / C3 / D / E 的 mode 演化;369,293,176 bytes,能学习 SAS failure 与环境 drift(CGM-E03 inventory);extra_region_file + extra_region_list 的早期大批量实践。sed 修改配置,缺少 config schema / exact hash gate;[REDACTED]);M31CGM 的哪一个 log 是你认为最值得作为“从 ODF 到可抽谱 RPC”的 golden log?目前我只把 0800732701 的 2025-11-30 full reduction 作为历史样本,没有把它当成功模板。
0112570101: 验收范例,但 runner 需要减肥extra_region_list
→ add_extra_region_v2
→ ds9_to_xmmexpr(coordtype='det')
→ mos-spectra
→ mos_back
E009 对 adopted a=0–4′ polygon 的结果:
84/84 hard gates PASS(HOTISM-E009-QA);pn-spectra、pn_back、PN OoT 或新 PN-like products;v1.3.2 + Python/HEASOFT/SAS compatibility;0112570101 的 S001/S002 exposure IDs、92/90 mask rows 和 rejected-attempt regression;迁移新 OBSID 前必须改为 manifest/参数,不能原样照搬。这些大多是恢复和验收,不是 mos-spectra → mos_back 本身。
你希望保留 M31HotISM 的哪些 84 gates 作为所有新光谱的最小验收?哪些只适合这个 custom polygon / compatibility 事件?
esas_playground_v1.4.1.py: engine,而不是完整 release workflowxmmtools.esas_pha helpers;1.calibration sync 不应无条件要求;用户已确认 v1.4.1.py 是主程序,并要求所有变化经 .par 配置。仍待 central qualification 的是 rProfile/final-sync 等 open points,而不是再选一个 per-OBSID engine。
用户指定的唯一处理程序;不同 OBSID/region/band 全部由 .par 配置。
学习 clean-shell、pilot、hash、status、fail-close、qualification。
学习 exact geometry、point mask、source/QPB/response 和 no-PN gates。
学习 full reduction、集群环境与真实错误;不复制 legacy launcher。
用户教学决定已被采纳;可到 教 Hermes 页继续修订。原决定 execution_authorized=false,不授权任何具体 run。