先在空目录中跑通独立科学计算
从下方下载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的测光使用相互匹配的星系孔径,再按各波段的点扩散展宽、扣背景并做孔径修正。目录通量已经包含这些修正;论文给出的样本平均修正百分比,不是再乘到这两个星系上的新系数。这次没有取得或检查影像,轻度标记会一直作为使用这些通量的条件。
核对波段约定,不能只看文件名
运行下面两项响应检查。SPIRE采用 的参照谱,模型先积 ,再除以相应参照积分。若采用扩展图波束近似,频率相关波束因子也必须一致地出现在分子与参照分母。
练习比较波束幂次 、 与 :零是点源响应对照,另两项是扩展图近似,不是原始HIPE 13的精确波束。context 14.3、内部RSRF产品3和效率产品1,是不同层次的版本号;拿到文件,并不证明它与目录处理的每个细节完全一致。
响应中很小的负估计基线保留原样,另做截成正值的敏感性比较,采样带内预测最大相对变化约 。原先严格的冗余频率坐标一致性门没有通过,这个失败也保留;改用另一坐标计算,带内变化约 。两件事都要报告,且都不代表真实校准误差。
精确五波段响应计算还需要缺失的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