---
title: "用DustPedia测光重新做一次颜色温度比较"
description: "获取固定源行和官方SPIRE响应，保留质量标记，对同一份真实测光做单温、双温与校准敏感性比较。"
canonical_url: "https://sandboxphysics.com/zh/stories/interstellar-dust/replay-dustpedia-photometry/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/interstellar-dust/replay-dustpedia-photometry/"
last_modified: "2026-11-04"
---

[星际尘埃、红外光与偏振](https://sandboxphysics.com/zh/stories/interstellar-dust/)

星际尘埃 · L3

# 用DustPedia测光重新做一次颜色温度比较

Sandbox Physics · 2026-11-04

这次用真实星系测光做一次条件颜色比较：取得两个具名目录行与两个小型仪器文件，核对身份，再固定NGC4254这一份记录做拟合。NGC0628则提供一个有用的反例：通量为正，也可能因严重质量标记而不能直接使用。

## 开始前需要什么

先读“三个红外波段能分辨几个温度”。需要终端和带NumPy、SciPy、Matplotlib的Python，不需要Herschel数据处理软件或影像库。

## 先在空目录中跑通独立科学计算

从下方下载dust-transfer-science-v1.zip，解压到一个空目录，进入其中的dust-transfer-science文件夹。包内有自有科学程序与许可明确的完整原生模型小成员，没有网站实验引擎，也没有真实测光表。

下面先建隔离环境并安装普通依赖；安装依赖是另一个联网步骤。最后的命令会离线实际重算十个科学步骤，包括传输、冷却、独立参照与加密检查，不加载已完成的数值结果。若要再次做全新重放，请另行解压，因为程序会拒绝已经生成结果的目录。

冻结压缩包为1,824,340字节，SHA-256为4f77beb30dc9c53b74039ca64d6738e6c7047788710854b39efba0a94fb7a843。原README写于后来的读者联网测试之前；这里的补充安装说明记录了后续测试，没有改动压缩包及其科学输入。

```
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python replay.py
```

对应阅读：Dust absorption, heat and polarization: standalone science

## 把第一次真实资料获取单独记下来

接下来才是额外的联网步骤：通过CfA的VizieR镜像，请求DustPedia固定孔径测光表中的NGC0628与NGC4254，并获取ESA context 14.3完整SPIRE相对光谱响应和孔径效率文件。总响应体上限为91,360字节，没有整目录、影像或替代产品的回退下载。

后来的实际读者测试共收到85,612字节，四份文件及其保存后分析通过。此前两次在收到响应体前超时，失败记录保留。将来若源站暂时不可用，应报告获取失败，而不是拿一份模拟数据冒充真实输入。

目录服务会插入查询日期。程序记录你此次真正收到的原始SHA，同时核对另一份冻结身份；后者只忽略明确列出的两行查询时间。通量、标记、列结构或其他元数据若变动，都会触发身份检查失败。ESA文件则按完整固定字节SHA检查。

```
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python scripts/astronomy/ac35/acquire_real_exercise.py --accept-first-network-acquisition
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python scripts/astronomy/ac35/verify_reader_identity.py
```

对应阅读：Clark et al., DustPedia photometry, arXiv:1708.05335v1 · DustPedia aperture-photometry catalog J/A+A/609/A37 · ESA SPIRE context 14.3 RSRF and aperture-efficiency products · Dust absorption, heat and polarization: standalone science

## 在选模型之前，先看清观测

打开本地获取收据和原生行，把星系名、仪器、标称波长、以央斯基计的通量、误差与质量标记放在一起读。这个目录中，负的误差可能表示只知道校准部分，并不是一个可以使用的负高斯标准差。

NGC0628的PACS有严重覆盖标记，程序保留五波段一般用途拟合被拒绝的反例。NGC4254的三个SPIRE点无标记，PACS则有轻度覆盖标记。三点比较是主要例子；加入PACS的五点版本，必须同时保留轻度标记和单色响应近似。

Clark的测光使用相互匹配的星系孔径，再按各波段的点扩散展宽、扣背景并做孔径修正。目录通量已经包含这些修正；论文给出的样本平均修正百分比，不是再乘到这两个星系上的新系数。这次没有取得或检查影像，轻度标记会一直作为使用这些通量的条件。

对应阅读：Clark et al., DustPedia photometry, arXiv:1708.05335v1

## 核对波段约定，不能只看文件名

运行下面两项响应检查。SPIRE采用 $S_\nu\propto\nu^{-1}$ 的参照谱，模型先积 $R(\nu)\epsilon(\nu)S_\nu\,d\nu$，再除以相应参照积分。若采用扩展图波束近似，频率相关波束因子也必须一致地出现在分子与参照分母。

练习比较波束幂次 $0$、$-1.7$ 与 $-2$：零是点源响应对照，另两项是扩展图近似，不是原始HIPE 13的精确波束。context 14.3、内部RSRF产品3和效率产品1，是不同层次的版本号；拿到文件，并不证明它与目录处理的每个细节完全一致。

响应中很小的负估计基线保留原样，另做截成正值的敏感性比较，采样带内预测最大相对变化约 $1.97\times10^{-5}$。原先严格的冗余频率坐标一致性门没有通过，这个失败也保留；改用另一坐标计算，带内变化约 $3.62\times10^{-12}$。两件事都要报告，且都不代表真实校准误差。

精确五波段响应计算还需要缺失的PACS曲线；这里注明单色近似，再分别去掉这两个波段、改变模型增益，比较结果有多敏感。

```
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python scripts/astronomy/ac35/audit_spire_response.py
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python scripts/astronomy/ac35/verify_band_numerics.py
```

对应阅读：Griffin et al., SPIRE photometer calibration, arXiv:1306.1778v1 · ESA SPIRE context 14.3 RSRF and aperture-efficiency products · Clark et al., DustPedia photometry, arXiv:1708.05335v1

## 对同一行拟合，再在本地画出退化

运行下列拟合命令。actual-saved-record.json保留从原始行选出的输入；conditional-comparison.json记录响应、固定斜率、协方差情景、单温结果、正振幅双温网格以及零振幅边界。每个情景读的仍是同一份观测，不会换成模拟云来完成例子。

再从下方材料下载plot-dust-photometry.py到当前解压目录，运行第二条命令。它只读取你刚生成的本地JSON和网格，画出带内通量比较与温度对距离图，存入reader-plots。原始数值和派生图留在你的目录；网站科学包不夹带这些许可未明确的真实资料。

具体读一次clean-SPIRE-extended-approximation-beta2-diagonal：确认单温颜色参数约23.54开尔文，再比较低冷端与中冷端的代表混合。找到gridPairsWithinDistanceOneOfGridMinimum字段。图上大片可行区域展示的是退化，不是置信轮廓。

然后读一个轻度PACS情景中的twoComponentBestIncludingBoundary。若单成分边界胜出，无用成分振幅为零，温度为null。与保留的严格正网格比较，便能把离散搜索误差和真正的模型候选比较区分开。

```
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python scripts/astronomy/ac35/fit_real_photometry.py --output real-exercise-results
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python plot-dust-photometry.py --results real-exercise-results --output reader-plots
```

对应阅读：Dust absorption, heat and polarization: standalone science

## 把结果写到别人能判断的程度

结果应一起说明源身份、保留的标记、固定斜率、波束近似和协方差情景。温度称为观测系颜色温度，振幅称为央斯基归一化。本练习没定红移和距离，不能进一步写成物理静止系温度或尘埃质量。

比较斜率、共同校准和去波段情景时，把数值积分误差与响应模型选择、源质量问题分开。采用的协方差情景不是测得的协方差矩阵，加权距离也不是经过验证的真实资料概率。

原始表与ESA响应文件由读者本地获取，因为再发布权没有核实。能访问一个网页或公开论文，不等于获准重发数组。固定具名源、明确获取收据和本地重算，仍能让这条分析链被独立检查。

对应阅读：Dust absorption, heat and polarization: standalone science · Clark et al., DustPedia photometry, arXiv:1708.05335v1 · Griffin et al., SPIRE photometer calibration, arXiv:1306.1778v1

## 练习与解释性答案

1. 你的查询SHA与前一位读者不同，但只有已声明的两行时间变化，收据应怎样写？

   展开解释

   分别记录此次真实原始SHA和相符的时间归一化身份，不能沿用前一次的原始SHA。任何非时间变化都应触发冻结身份失败，不能继续扩大“忽略元数据”的范围。

2. PACS通量为正但带严重N标记，优化器也能拟合，是否就可当干净数据？

   展开解释

   不可以。源目录已经说它不适合一般用途，这与通量正负、优化器能否给数字无关。教程保留拒绝；轻度标记也需要单独论证条件用途，不能等同于无标记。

## 动手检验预测

### [沿着同一团尘埃追踪吸光、升温与偏振](https://sandboxphysics.com/zh/labs/interstellar-dust-polarization/)

1. 导出一团模型云，比较实际单元温度与真实资料输出中的观测系颜色温度分别指什么。
2. 用通透和遮挡较强的云，看看即使暂不加入尺寸分布，温度混合也怎样出现。
3. 写三句话，分别说明真实教程的输入、模型选择和最强退化，至少包含一项源质量或响应限制。

## 独立科学复算材料

[下载科学复算ZIP](https://sandboxphysics.com/stories/interstellar-dust/materials/dust-transfer-science-v1.zip) · [阅读安装与计算说明](https://sandboxphysics.com/stories/interstellar-dust/materials/setup-and-reader-status.md)

[下载本地真实资料绘图脚本](https://sandboxphysics.com/stories/interstellar-dust/materials/plot-dust-photometry.py)

ZIP离线实际重算十个科学步骤。可选真实练习在本地取得四个固定源文件，绘图脚本再从同一保存记录生成图像。

[上一篇：三个红外波段能分辨几个温度](https://sandboxphysics.com/zh/stories/interstellar-dust/three-bands-and-many-temperatures/) [下一篇：怎样读懂Astrodust的偏振热辐射](https://sandboxphysics.com/zh/stories/interstellar-dust/reading-the-astrodust-model/)

## 来源与计算范围

1. [Clark et al., DustPedia photometry, arXiv:1708.05335v1](https://arxiv.org/abs/1708.05335v1)

   第2.1.1、3.5至3.7、4、6.3.1与7.1节：HIPE 13、参照谱、匹配孔径、质量标记、已含校准的误差和孔径修正。没有重新处理影像或解除源标记。

2. [DustPedia aperture-photometry catalog J/A+A/609/A37](https://doi.org/10.26093/cds/vizier.36090037)

   读者经官方CfA VizieR镜像本地取得固定NGC0628/NGC4254行。冻结身份只排除明确的查询时间。再发布权未核实，原始和派生真实表不随包重发。

3. [Griffin et al., SPIRE photometer calibration, arXiv:1306.1778v1](https://arxiv.org/abs/1306.1778v1)

   第2至3与6节，式1/8至12/18至25：能量响应、参照谱与点源/扩展源波束区别。幂律波束是条件近似，不冒充原目录精确波束。

4. [ESA SPIRE context 14.3 RSRF and aperture-efficiency products](https://archives.esac.esa.int/hsa/legacy/ADP/SPIRE/SPIRE-P_filter_curves/)

   仅固定具名的SPIRE\_phot\_RSRF\_14\_3.fits与SPIRE\_phot\_apertureEfficiency\_14\_3.fits，核对完整文件SHA。context 14.3与内部产品3、1分开。由读者获取，不重发许可未明确的响应数组。

5. [Dust absorption, heat and polarization: standalone science](https://sandboxphysics.com/stories/interstellar-dust/materials/dust-transfer-science-v1.zip)

   MIT自有科学代码与另行许可的CC0原生输入。离线实际重算十步，保留粗网格失败、独立体积/普朗克积分参照及可选首次联网真实练习。站点补充说明记录后续成功获取，原冻结包保持不变。
