从eFEDS两个SWCX scenario到Figure 3的两个固定点 — From two eFEDS SWCX scenarios to two fixed points on Figure 3

面向物理系本科一年级 · 可执行教程

Author

M31 CGM Team

Published

July 18, 2026

从eFEDS两个SWCX scenario到Figure 3的两个固定点

教程目标:理解 Ponti et al. (2023) 用 eFEDS 巡天在远离 M31 的天区拟合出的两个 SWCX scenario(negligible / high),如何经过 band reconstruction 变成 Figure 3 上的两个固定点。 Tutorial goal: Understand how the two SWCX scenarios (negligible / high) fitted by Ponti et al. (2023) from eFEDS fields far from M31 are band-reconstructed into two fixed points on Figure 3.

目标读者:物理系本科一年级,已学完普通物理(电磁学/光学),了解基本的原子物理概念(能级、跃迁),但不需要天文观测经验。 Target audience: First-year physics undergraduates who have completed general physics (electromagnetism/optics) and basic atomic physics, without requiring astronomical observing experience.

核心问题:Ponti+2023 在 \(l \approx 220\text{–}235^\circ\), \(b \approx 20\text{–}40^\circ\) 的 eFEDS 天区(离 M31 > \(105^\circ\))拟合银河系 CGM 时,论文 Table 4 只给 0.3–0.6 keV 和 0.6–2.0 keV 两个分开的 bin 的 flux。而 Figure 3 需要 0.5–2.0 keV 的统一波段。怎么把两个 bin 重新拼成 0.5–2.0 keV?为什么结果是两个固定点而不是一个 central estimate + error bar?

Core question: Ponti+2023 fit the Milky Way CGM in eFEDS fields at \(l \approx 220\text{–}235^\circ\), \(b \approx 20\text{–}40^\circ\) (more than \(105^\circ\) from M31). The paper’s Table 4 reports flux in two separate bins — 0.3–0.6 keV and 0.6–2.0 keV. Figure 3 needs a unified 0.5–2.0 keV band. How do we reconstruct one band from two? And why are the results two fixed points rather than a central estimate + error bar?


0. 准备工作:环境与数据

本教程只需要 Python 标准科学栈。所有数据文件已随教程提供。

Code
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pathlib import Path

plt.style.use('seaborn-v0_8-whitegrid')
plt.rcParams['font.size'] = 12
plt.rcParams['figure.dpi'] = 150
plt.rcParams['savefig.dpi'] = 300
# NOTE: do NOT add a CJK font fallback here — see SKILL.md
# All matplotlib text labels stay English-only.

DATA = Path("assets/data")
print("Environment ready!")
Environment ready!

1. 背景知识:eFEDS、SWCX 与 band reconstruction

1.1 eFEDS 巡天与银河系 CGM

eFEDS(eROSITA Final Equatorial-Depth Survey)是 SRG/eROSITA 在赤道带进行的一次深巡天,覆盖约 60 平方度。Ponti et al. (2023) 分析了其中位于 \(l \approx 220\text{–}235^\circ\), \(b \approx 20\text{–}40^\circ\) 的一组指向。这些天区离 M31 方向超过 \(105^\circ\)——也就是说,eFEDS 并不指向 M31,它测量的是银河系 CGM 在另一片天空的亮度。

论文用 Lodders APEC 等离子体模型(而不是 Henley & Shelton 2013 用的 Raymond-Smith)拟合这些视线上的银河系热气体,并显式建模 Solar Wind Charge Exchange(SWCX) 这一前景成分。

1.2 SWCX 是什么,为什么有两个 scenario?

SWCX(太阳风电荷交换):太阳风中的高价离子(如 O\(^{7+}\)、C\(^{6+}\))与中性原子(主要是星际介质中的 H、He)碰撞时”偷走”一个电子,电子随后落到低能级并放出 X 射线光子。SWCX 产生的谱线(如 O VII 0.56 keV、O VIII 0.65 keV)与银河系热气体 CGM 的谱线高度重叠,在软 X 射线波段极难区分。

Ponti+2023 对 SWCX 前景做了两种假设:

  • negligible_swcx:SWCX 贡献可忽略,把软 X 射线几乎全部归到 CGM。结果是 CGM 更亮、温度 \(kT \approx 0.157\) keV、丰度 \(Z \approx 0.068\) \(Z_\odot\)
  • high_swcx:SWCX 贡献显著,扣掉后 CGM 更暗、温度 \(kT \approx 0.173\) keV、丰度 \(Z \approx 0.058\) \(Z_\odot\)

这两个 scenario 不是”central ± error”——它们是论文对 SWCX 前景不确定性的两个端点假设。每个 scenario 都有自己的最佳拟合 \(kT\)\(Z\)\(N_\mathrm{H}\) 分布参数,因此每个 scenario 都要独立地做 band reconstruction。

1.3 为什么要 band reconstruction?

论文 Table 4 给的 flux 是两个分开的能量 bin:

  • soft bin:0.3–0.6 keV
  • hard bin:0.6–2.0 keV

而 Figure 3 统一用 0.5–2.0 keV。注意 0.5–2.0 keV 并不是两个 bin 的简单相加:soft bin 覆盖 0.3–0.6 keV,我们只需要它的 0.5–0.6 keV 部分,再拼上整个 0.6–2.0 keV。这就是 band reconstruction。

1.4 关键公式

对一个固定的 SWCX scenario \(s\)

\[ S_{0.5\text{–}2.0}^{(s)} = \underbrace{S_{0.3\text{–}0.6}^{(s)} \times f_{0.5\text{–}0.6 / 0.3\text{–}0.6}^{(s)}}_{\text{soft bin 的 0.5–0.6 部分}} + \underbrace{S_{0.6\text{–}2.0}^{(s)}}_{\text{整个 hard bin}} \]

其中分数 \(f_{0.5\text{–}0.6 / 0.3\text{–}0.6}^{(s)}\) 由该 scenario 的 \(kT\)\(Z\)\(N_\mathrm{H}\) 分布(lognormal)下的 Lodders APEC 模型谱决定。

Code
graph TD
    A["eFEDS 拟合<br/>Lodders APEC + disnht"] --> B["两个 SWCX scenario:<br/>negligible / high"]
    B --> C["每个 scenario 有自己的<br/>kT, Z, log N_H 分布"]
    C --> D["Table 4: S(0.3-0.6) + S(0.6-2.0)"]
    D --> E["用 APEC(kT,Z,N_H) 求<br/>f = F(0.5-0.6) / F(0.3-0.6)"]
    E --> F["S(0.5-2.0) = S(0.3-0.6)·f + S(0.6-2.0)"]
    F --> G["deg⁻² → arcmin⁻²<br/>10⁻¹³ → 10⁻¹⁵"]
    G --> H["Figure 3: 两个固定点"]

graph TD
    A["eFEDS 拟合<br/>Lodders APEC + disnht"] --> B["两个 SWCX scenario:<br/>negligible / high"]
    B --> C["每个 scenario 有自己的<br/>kT, Z, log N_H 分布"]
    C --> D["Table 4: S(0.3-0.6) + S(0.6-2.0)"]
    D --> E["用 APEC(kT,Z,N_H) 求<br/>f = F(0.5-0.6) / F(0.3-0.6)"]
    E --> F["S(0.5-2.0) = S(0.3-0.6)·f + S(0.6-2.0)"]
    F --> G["deg⁻² → arcmin⁻²<br/>10⁻¹³ → 10⁻¹⁵"]
    G --> H["Figure 3: 两个固定点"]


2. 加载原始数据

Code
efeds = pd.read_csv(DATA / "m31_cgmsum_efeds2023_absorbed_0p5_2p0.csv")
print(f"Loaded {len(efeds)} SWCX scenarios")
print(f"Columns: {list(efeds.columns)}")
efeds
Loaded 2 SWCX scenarios
Columns: ['scenario_id', 'temperature_keV', 'abundance_solar', 'mean_log10_nh_cm-2', 'sigma_log10_nh', 'published_0p3_0p6_1e13_deg-2', 'published_0p6_2p0_1e13_deg-2', 'model_ratio_0p5_0p6_to_0p3_0p6', 'flux_0p5_2p0_plot_central_fluxunit', 'flux_0p5_2p0_reconstruction_low_fluxunit', 'flux_0p5_2p0_reconstruction_high_fluxunit']
scenario_id temperature_keV abundance_solar mean_log10_nh_cm-2 sigma_log10_nh published_0p3_0p6_1e13_deg-2 published_0p6_2p0_1e13_deg-2 model_ratio_0p5_0p6_to_0p3_0p6 flux_0p5_2p0_plot_central_fluxunit flux_0p5_2p0_reconstruction_low_fluxunit flux_0p5_2p0_reconstruction_high_fluxunit
0 negligible_swcx 0.157 0.068 20.51 0.117 24.1 5.6 0.374870 0.406510 0.406510 0.406510
1 high_swcx 0.173 0.058 20.51 0.117 15.6 4.9 0.357916 0.291208 0.291208 0.291208

数据只有 2 行——对应两个 SWCX scenario:

列名 含义
scenario_id SWCX 情景名(negligible_swcx / high_swcx)
temperature_keV 拟合的 CGM 温度 \(kT\)(keV)
abundance_solar 金属丰度 \(Z / Z_\odot\)
mean_log10_nh_cm-2 lognormal \(N_\mathrm{H}\) 分布的均值(\(\log_{10} N_\mathrm{H}\)
sigma_log10_nh lognormal \(N_\mathrm{H}\) 分布的 \(\sigma\)(本项目采用 PDF 值 0.117)
published_0p3_0p6_1e13_deg-2 论文 Table 4 的 0.3–0.6 keV flux(\(10^{-13}\) erg cm\(^{-2}\) s\(^{-1}\) deg\(^{-2}\)
published_0p6_2p0_1e13_deg-2 论文 Table 4 的 0.6–2.0 keV flux(同单位)
model_ratio_0p5_0p6_to_0p3_0p6 由 APEC 模型算出的 \(f = F_{0.5\text{–}0.6} / F_{0.3\text{–}0.6}\)
flux_0p5_2p0_plot_central_fluxunit band reconstruction 后的 0.5–2.0 keV flux(Figure 3 单位:\(10^{-15}\) erg cm\(^{-2}\) s\(^{-1}\) arcmin\(^{-2}\)
flux_0p5_2p0_reconstruction_low_fluxunit 重建下界(本场景下与 central 相同——见 §6)
flux_0p5_2p0_reconstruction_high_fluxunit 重建上界(本场景下与 central 相同——见 §6)

3. 第一步:理解 band reconstruction 的物理

3.1 为什么不能直接相加?

如果 Figure 3 要的是 0.3–2.0 keV,那直接把两个 bin 相加就行。但 Figure 3 要的是 0.5–2.0 keV,比 soft bin 的起点(0.3 keV)高 0.2 keV。这 0.2 keV 的差异看似很小,但在软 X 射线波段,0.3–0.5 keV 恰好是 O VII / O VIII 复合线密集的区域,被吸收得也最厉害。直接相加会高估 0.5–2.0 keV 的 flux。

3.2 怎么求 0.5–0.6 / 0.3–0.6 的分数?

对每个 scenario,我们已经有了它的最佳拟合 \(kT\)\(Z\)\(N_\mathrm{H}\) 分布参数。用 Lodders APEC 等离子体模型生成该 scenario 的理论谱(已吸收),然后数值积分:

\[ f^{(s)} = \frac{\int_{0.5}^{0.6} F_E^{(s)}(E)\, dE}{\int_{0.3}^{0.6} F_E^{(s)}(E)\, dE} \]

其中 \(F_E^{(s)}(E)\) 是 scenario \(s\) 下的 absorbed APEC 谱(单位能量内的光子或能量 flux)。\(N_\mathrm{H}\) 分布是 lognormal,所以吸收要对 \(N_\mathrm{H}\)quadrature(加权积分)——这是为什么数据里有 mean_log10_nh_cm-2sigma_log10_nh

3.3 可视化:两个 scenario 的模型谱与 band 划分

Code
# Schematic illustration: we don't run APEC here, but we draw the band
# boundaries so students see what "0.5-0.6 out of 0.3-0.6" means.
fig, ax = plt.subplots(figsize=(8, 5))

# Schematic absorbed thermal spectrum shapes (not real APEC, just for teaching)
E = np.linspace(0.2, 2.0, 1000)
def schematic_spec(E, kT):
    # Very rough bremsstrahlung-like shape, just for visualization
    return np.exp(-E/kT) * np.exp(-0.3*E)  # *0.3 = schematic absorption

for i, row in efeds.iterrows():
    label = row["scenario_id"].replace("_", " ")
    ax.plot(E, schematic_spec(E, row["temperature_keV"]),
            label=f"{label}  kT={row['temperature_keV']:.3f} keV",
            linewidth=2)

# Shade the two published bins
ax.axvspan(0.3, 0.6, color="#2676b8", alpha=0.10, label="Published soft bin 0.3-0.6 keV")
ax.axvspan(0.6, 2.0, color="#d47a2c", alpha=0.10, label="Published hard bin 0.6-2.0 keV")
# Highlight the 0.5-0.6 sub-slice we need
ax.axvspan(0.5, 0.6, color="#b74842", alpha=0.35,
           label="Sub-slice 0.5-0.6 keV (needed for 0.5-2.0)")
ax.axvline(0.5, color="#b74842", linestyle="--", linewidth=1)
ax.set_xlabel("Energy (keV)")
ax.set_ylabel("Schematic flux (arb. units)")
ax.set_title("eFEDS Ponti+2023: two SWCX scenarios and band reconstruction")
ax.set_xlim(0.2, 2.0)
ax.legend(fontsize=9, loc="upper right")
plt.show()

两个 SWCX scenario 的示意性 APEC 谱(已吸收),阴影区标 0.3-0.6 与 0.6-2.0 keV 两个论文 bin。band reconstruction 需要截取 soft bin 的 0.5-0.6 keV 部分(深色阴影)。

观察: - 两个 scenario 的 \(kT\) 很接近(0.157 vs 0.173 keV),谱形相似但 soft bin 区略有不同。 - 0.5–0.6 keV 只是 soft bin 的一小段,但它决定了我们丢弃多少 0.3–0.5 keV 的 flux。 - high_swcx scenario 的 CGM 更暗(SWCX 抢走了一部分 flux),所以两个点在 Figure 3 上会分开。


4. 第二步:band reconstruction 计算与验证

4.1 重建公式

对每个 scenario \(s\)

\[ S_{0.5\text{–}2.0}^{(s)} = S_{0.3\text{–}0.6}^{(s)} \times f^{(s)} + S_{0.6\text{–}2.0}^{(s)} \]

其中 \(f^{(s)}\) = model_ratio_0p5_0p6_to_0p3_0p6

4.2 单位换算

论文 Table 4 的 flux 单位是 \(10^{-13}\) erg cm\(^{-2}\) s\(^{-1}\) deg\(^{-2}\),Figure 3 用 \(10^{-15}\) erg cm\(^{-2}\) s\(^{-1}\) arcmin\(^{-2}\)

  1. deg\(^{-2}\) → arcmin\(^{-2}\):除以 3600(1 deg\(^2\) = 3600 arcmin\(^2\)
  2. \(10^{-13}\)\(10^{-15}\):乘以 100

合起来:\(S_{\mathrm{fig}} = S_{\mathrm{tab}} \times \frac{100}{3600} = \frac{S_{\mathrm{tab}}}{36}\)

4.3 代码实现

Code
# Band reconstruction + unit conversion
efeds["reconstructed_0p5_2p0_1e13_deg-2"] = (
    efeds["published_0p3_0p6_1e13_deg-2"] * efeds["model_ratio_0p5_0p6_to_0p3_0p6"]
    + efeds["published_0p6_2p0_1e13_deg-2"]
)
# Table 4 units (1e-13 / deg^2) -> Figure 3 units (1e-15 / arcmin^2): /36
efeds["reconstructed_fluxunit"] = efeds["reconstructed_0p5_2p0_1e13_deg-2"] / 36.0

print(f"{'scenario':<18s} {'S(0.3-0.6)':>10s} {'f':>8s} {'S(0.6-2.0)':>10s} "
      f"{'S(0.5-2.0) tab':>14s} {'S(0.5-2.0) fig':>14s}")
for _, r in efeds.iterrows():
    print(f"{r['scenario_id']:<18s} {r['published_0p3_0p6_1e13_deg-2']:>10.3f} "
          f"{r['model_ratio_0p5_0p6_to_0p3_0p6']:>8.4f} "
          f"{r['published_0p6_2p0_1e13_deg-2']:>10.3f} "
          f"{r['reconstructed_0p5_2p0_1e13_deg-2']:>14.4f} "
          f"{r['reconstructed_fluxunit']:>14.6f}")
scenario           S(0.3-0.6)        f S(0.6-2.0) S(0.5-2.0) tab S(0.5-2.0) fig
negligible_swcx        24.100   0.3749      5.600        14.6344       0.406510
high_swcx              15.600   0.3579      4.900        10.4835       0.291208

4.4 与冻结的 Figure 3 ledger 对比

Code
# Verify against the frozen Figure 3 ledger values stored in the CSV
for _, r in efeds.iterrows():
    sid = r["scenario_id"]
    manual = r["reconstructed_fluxunit"]
    ledger = r["flux_0p5_2p0_plot_central_fluxunit"]
    print(f"{sid}:")
    print(f"  Manual reconstruction: {manual:.10f}")
    print(f"  Ledger (CSV central): {ledger:.10f}")
    np.testing.assert_allclose(manual, ledger, rtol=0, atol=1e-8)
    print(f"  OK  Match to < 1e-8")
print("\nAll scenarios match the frozen Figure 3 ledger.")
negligible_swcx:
  Manual reconstruction: 0.4065102009
  Ledger (CSV central): 0.4065102009
  OK  Match to < 1e-8
high_swcx:
  Manual reconstruction: 0.2912081084
  Ledger (CSV central): 0.2912081084
  OK  Match to < 1e-8

All scenarios match the frozen Figure 3 ledger.

4.5 可视化:两个固定点

Code
fig, ax = plt.subplots(figsize=(8, 4.5))

scenarios = efeds["scenario_id"].tolist()
vals = efeds["reconstructed_fluxunit"].tolist()
colors = ["#2676b8", "#d47a2c"]

for i, (s, v, c) in enumerate(zip(scenarios, vals, colors)):
    label = s.replace("_", " ")
    ax.scatter([i], [v], s=180, color=c, edgecolor="black", linewidth=0.8,
               zorder=5, label=f"{label}: {v:.4f}")

ax.set_xticks(range(len(scenarios)))
ax.set_xticklabels([s.replace("_", "\n") for s in scenarios])
ax.set_ylabel("0.5-2.0 keV brightness (10^-15 erg s^-1 cm^-2 arcmin^-2)")
ax.set_title("eFEDS Ponti+2023: two fixed SWCX scenarios on Figure 3")
ax.set_ylim(0, max(vals) * 1.4)
ax.legend(fontsize=10, loc="upper right")
ax.grid(axis="x", visible=False)
plt.tight_layout()
plt.show()

Ponti+2023 eFEDS 的两个 SWCX scenario 经 band reconstruction 后落在 Figure 3 上的两个固定点。注意:这不是 central estimate + error bar,而是两个独立的 SWCX 前景假设。

关键观察: - 两个点分开约 0.115 flux unit(0.407 vs 0.291)——这反映的是 SWCX 前景假设的不确定性,不是统计误差。 - negligible_swcx 更亮(CGM 拿到全部 soft flux),high_swcx 更暗(SWCX 抢走了一部分)。 - 两个点都不是 error bar 的端点——它们是两个独立的物理假设各自给出的 best-fit CGM 亮度。


5. 第三步:单位换算链的详细验证

让我们把单位换算拆开看,确保每一步都清楚。

Code
# Demonstrate the unit conversion chain step by step
row = efeds.iloc[0]  # negligible_swcx
print(f"Scenario: {row['scenario_id']}")
print()
print("Step 1: Reconstruct 0.5-2.0 keV in Table 4 units (1e-13 / deg^2)")
s_soft = row["published_0p3_0p6_1e13_deg-2"]
f = row["model_ratio_0p5_0p6_to_0p3_0p6"]
s_hard = row["published_0p6_2p0_1e13_deg-2"]
s_0520_tab = s_soft * f + s_hard
print(f"  S(0.3-0.6) = {s_soft:.4f} x 1e-13 erg/s/cm^2/deg^2")
print(f"  f(0.5-0.6 / 0.3-0.6) = {f:.6f}")
print(f"  S(0.6-2.0) = {s_hard:.4f} x 1e-13 erg/s/cm^2/deg^2")
print(f"  -> S(0.5-2.0) = {s_soft:.4f} * {f:.6f} + {s_hard:.4f} = {s_0520_tab:.6f}")

print()
print("Step 2: Convert deg^-2 -> arcmin^-2 (divide by 3600)")
s_arcmin = s_0520_tab / 3600.0
print(f"  {s_0520_tab:.6f} / 3600 = {s_arcmin:.10f} x 1e-13 erg/s/cm^2/arcmin^2")

print()
print("Step 3: Convert 1e-13 -> 1e-15 (multiply by 100)")
s_fig = s_arcmin * 100.0
print(f"  {s_arcmin:.10f} * 100 = {s_fig:.10f} x 1e-15 erg/s/cm^2/arcmin^2")

print()
print(f"Step 4: Compare with CSV central: {row['flux_0p5_2p0_plot_central_fluxunit']:.10f}")
np.testing.assert_allclose(s_fig, row["flux_0p5_2p0_plot_central_fluxunit"],
                           rtol=0, atol=1e-8)
print("  OK  Full unit chain matches CSV.")
Scenario: negligible_swcx

Step 1: Reconstruct 0.5-2.0 keV in Table 4 units (1e-13 / deg^2)
  S(0.3-0.6) = 24.1000 x 1e-13 erg/s/cm^2/deg^2
  f(0.5-0.6 / 0.3-0.6) = 0.374870
  S(0.6-2.0) = 5.6000 x 1e-13 erg/s/cm^2/deg^2
  -> S(0.5-2.0) = 24.1000 * 0.374870 + 5.6000 = 14.634367

Step 2: Convert deg^-2 -> arcmin^-2 (divide by 3600)
  14.634367 / 3600 = 0.0040651020 x 1e-13 erg/s/cm^2/arcmin^2

Step 3: Convert 1e-13 -> 1e-15 (multiply by 100)
  0.0040651020 * 100 = 0.4065102009 x 1e-15 erg/s/cm^2/arcmin^2

Step 4: Compare with CSV central: 0.4065102009
  OK  Full unit chain matches CSV.

6. 关键假设清单(必须记住!)

步骤 假设 来源
光谱模型 Lodders APEC 等离子体模型 原文使用(与 Henley&Shelton 的 Raymond-Smith 不同)
\(N_\mathrm{H}\) 分布 disnht lognormal\(\sigma = 0.117\) PDF/arXiv 值;publisher HTML Eq.1 显示 0.177,本项目采用 PDF 值 0.117
\(N_\mathrm{H}\) 均值 \(\log_{10} N_\mathrm{H} = 20.51\) cm\(^{-2}\) 原文拟合,两 scenario 共用
SWCX 前景 两个端点假设:negligible / high 原文对前景不确定性的 bracketing
Band reconstruction \(S_{0.5\text{–}2.0} = S_{0.3\text{–}0.6} \times f + S_{0.6\text{–}2.0}\)\(f\) 由 APEC 数值积分 本项目实现
\(f\) 的计算 对 lognormal \(N_\mathrm{H}\) 做 quadrature 加权积分 反映 \(N_\mathrm{H}\) 分布的不确定性
单位换算 deg\(^{-2}\) → arcmin\(^{-2}\) (/3600),\(10^{-13}\)\(10^{-15}\) (×100),合起来 /36 Figure 3 统一单位
结果性质 两个固定点,不是 central + error bar 每个 scenario 独立 best-fit
M31 关系 eFEDS 天区离 M31 > \(105^\circ\)不指向 M31;是 population context 原文样本域 \(l=220\text{–}235^\circ\), \(b=20\text{–}40^\circ\)
重建上下界 reconstruction_low = reconstruction_high = central 两个 scenario 本身就是 bracketing,不再加额外 error bar

7. 动手练习

练习 1:验证 high_swcx 的重建

high_swcx scenario,手动用 published_0p3_0p6_1e13_deg-2model_ratio_0p5_0p6_to_0p3_0p6published_0p6_2p0_1e13_deg-2 重建 0.5–2.0 keV flux,并验证单位换算后等于 CSV 中的 flux_0p5_2p0_plot_central_fluxunit

high_swcx:
  S(0.3-0.6) * f + S(0.6-2.0) = 15.6000 * 0.357916 + 4.9000 = 10.483492
  /36 -> 0.2912081084
  CSV central:                0.2912081084
  OK  Match

练习 2:两个 scenario 的差异从哪来?

计算两个 scenario 的 \(f\) 值之差,以及它们在 0.5–2.0 keV flux 上的差异。思考:差异主要来自 \(f\) 的不同,还是来自 published soft/hard bin flux 的不同?

f difference:        0.374870 - 0.357916 = 0.016954
Soft bin difference: 24.100 - 15.600 = 8.500
Hard bin difference: 5.600 - 4.900 = 0.700

The dominant difference is in the published soft/hard bin fluxes,
which reflects how much flux the SWCX foreground subtracts from the CGM.
The f ratio differs only slightly because kT differs only slightly.

练习 3:如果用 publisher HTML 的 \(\sigma = 0.177\) 会怎样?

本项目采用 PDF/arXiv 的 \(\sigma = 0.117\)。如果改用 publisher HTML Eq.1 显示的 \(\sigma = 0.177\)\(f\) 会变多少?(提示:更大的 \(\sigma\) 意味着 \(N_\mathrm{H}\) 分布更宽,低 \(N_\mathrm{H}\) 视线的吸收更弱,soft bin 的低能端相对更亮,\(f\) 会更小。)

This is a conceptual exercise — recomputing f requires running APEC
with a different sigma_log10_nh. The CSV's f values use sigma=0.117 (PDF).
With sigma=0.177 (publisher HTML), f would be smaller, and the
reconstructed 0.5-2.0 keV flux would be slightly lower for both scenarios.
This is why the SKILL.md explicitly records the sigma=0.117 choice.

8. 总结:从 eFEDS 拟合到 Figure 3 两个固定点的完整链路

Code
graph TD
    A["eFEDS 天区<br/>l=220-235, b=20-40<br/>离 M31 > 105 deg"] --> B["Lodders APEC + disnht lognormal 拟合"]
    B --> C["两个 SWCX scenario:<br/>negligible / high"]
    C --> D["Table 4:<br/>S(0.3-0.6) + S(0.6-2.0)"]
    D --> E["APEC(kT, Z, N_H 分布) 数值积分<br/>f = F(0.5-0.6) / F(0.3-0.6)"]
    E --> F["S(0.5-2.0) = S(0.3-0.6)*f + S(0.6-2.0)"]
    F --> G["deg^-2 -> arcmin^-2 (/3600)<br/>1e-13 -> 1e-15 (x100)"]
    G --> H["Figure 3: 两个固定点<br/>negligible=0.407, high=0.291"]

graph TD
    A["eFEDS 天区<br/>l=220-235, b=20-40<br/>离 M31 > 105 deg"] --> B["Lodders APEC + disnht lognormal 拟合"]
    B --> C["两个 SWCX scenario:<br/>negligible / high"]
    C --> D["Table 4:<br/>S(0.3-0.6) + S(0.6-2.0)"]
    D --> E["APEC(kT, Z, N_H 分布) 数值积分<br/>f = F(0.5-0.6) / F(0.3-0.6)"]
    E --> F["S(0.5-2.0) = S(0.3-0.6)*f + S(0.6-2.0)"]
    F --> G["deg^-2 -> arcmin^-2 (/3600)<br/>1e-13 -> 1e-15 (x100)"]
    G --> H["Figure 3: 两个固定点<br/>negligible=0.407, high=0.291"]

一句话总结:Ponti+2023 在远离 M31 的 eFEDS 天区用 Lodders APEC + lognormal \(N_\mathrm{H}\) 拟合银河系 CGM,并对 SWCX 前景做了 negligible / high 两个端点假设。论文 Table 4 给的是 0.3–0.6 keV 和 0.6–2.0 keV 两个分开的 bin,而 Figure 3 需要 0.5–2.0 keV——所以要用每个 scenario 的 APEC 模型谱算出 0.5–0.6 / 0.3–0.6 的分数,截取 soft bin 的 0.5–0.6 keV 部分,再拼上整个 hard bin,最后做单位换算。结果是 Figure 3 上的两个固定点(0.407 和 0.291),代表 SWCX 前景假设的两个端点,不是 central estimate + error bar,也不是 M31 方向的直接测量。


参考资料

  1. Ponti, G., et al. (2023). “The SRG/eROSITA all-sky survey: The eROSITA Final Equatorial-Depth Survey (eFEDS). The hot halo of the Milky Way.” A&A, 678, A92. doi:10.1051/0004-6361/202346832
  2. Lodders, K. (2003). “Solar System Abundances and Condensation Temperatures of the Elements.” ApJ, 591, 1220 — APEC abundance table used in Ponti+2023.
  3. Smith, R. K., Brickhouse, N. S., Liedahl, D. A., Raymond, J. C. (2001). “The APEC Atomic Database.” ApJL, 556, L91 — APEC plasma model.
  4. disnht lognormal \(N_\mathrm{H}\) distribution convention — see Ponti+2023 PDF Eq.1 and publisher HTML Eq.1; 本项目采用 PDF 值 \(\sigma = 0.117\).

教程结束 🎓 上一步:阅读 Henley & Shelton 2013 population tutorial,理解高银纬 86 条视线如何变成 Figure 3 的一个 median 点。