跳到主要内容
Sandbox Physics
从掠射光路走到行星大气证据

动手复算

用真实NIRISS光谱复算一次有条件的大气检索

公开包用同一份WASP-39 b实测74分箱,分别拟合仅含云的大气,以及加入未掩食冷区的大气。完整后验和坏拟合都保留下来;另有明确标成合成数据的已知真值案例,检查计算是否能找回输入。

先确认究竟是哪份测量

源文件为作者仓库固定提交0608071e1e70ec7ff12707774ea03ace4b52ea85中的CMADF-WASP_39b_NIRISS_transmission_spectrum_R100.csv,对应Feinstein等人的已发表分析。保留原始文件共11,063字节;出处文件给出完整SHA256、作者许可和Zenodo归档版本。

选取一阶、质量标记为零,而且完整区间都位于0.87至2.00微米内的分箱,剩下74行。真实外边界约为0.8732与1.9882微米,纵向误差约28.2至73.4 ppm。文件名写R100,通用表头写Native,而所给宽度对应的分辨本领约82.8至94.7;原始标记照样保留,计算直接使用数值宽度。

深度和不确定度已经以ppm表示。横向wave_error依作者绘图脚本解释为半宽,再当成各自独立的顶帽响应近似;没有把它偷偷换成高斯误差,也没有宣称恢复了完整探测器响应。

对应阅读:WASP-39 b NIRISS author data · Zenodo 7709712 and fixed repository commit · Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS

检查物理输入与运算顺序

分子输入是真实ExoMolOP POKAZATEL采样截面。原HDF5含22个压力、27个温度和76,744个波数点;精确字节区间提取保留全部22个压力、800至1600开尔文的九个温度,以及覆盖工作波段的15,084个采样。清单记录源文件总字节、数组偏移、无压缩结构,以及每段范围和哈希。

三个PHOENIX中分辨率成员分别为3500、4500和5500开尔文,来自许可明确、固定1.0版的Zenodo衍生产品。表头单位为纳米与每平方厘米、每秒、每纳米的尔格表面流量;计算保留共同的物理归一化。公开包附原成员、CRC32、哈希与署名。

前向模型采用课程推导的引力平方反比等温大气、有限顶边界和压力相关截面。先对每个原生采样波长求传输,再在实测分箱内求光子加权遮挡面积;灰云与未掩食恒星修正都作用于同一套物理计算。

浏览器把同一份正截面编码为紧凑的对数数组。在21个角点与预设、16个留出状态上,最终分箱相对Python双精度路线最大差别约0.015 ppm。这项量化检查与径向积分、以及用于后验的观测量网格插值分开记录。

对应阅读:Chubb et al. (2021) · ExoMolOP cross sections and k-tables · Polyansky et al. (2018) · The POKAZATEL water line list · Stuitje · PHOENIX medium-resolution stellar spectra, version 1.0 · Husser et al. (2013) · A PHOENIX library of stellar atmospheres and spectra

采样之前先验过观测量网格

后验网格保存的是已经完成传输、光子分箱后的行星面积,并先减去可精确恢复的参考半径平方基线,没有保存粗平均截面。温度插值不跨越原来每个一百开尔文的截面区间,也禁止外推。

初版在高水丰度边缘没有通过2 ppm数值目标。水丰度轴增加四个取值,对应额外476根完整原生气柱,总数从2499增到2975。统一细化至384层后,77个独立检验状态包含新增留出内点、边缘和全部预设;相对原生384层最大差别约0.425 ppm,相对另建云边界的1280层参照约1.636 ppm。

提供的validate_grid.py用原始提取截面和恒星输入,真正重算这些传输比较。2 ppm指既定源产品模型内部的数值一致性,不是加到观测误差上的噪声,不是已标定的模型偏差分布,也不是逐线物理精度保证。

另列的源敏感性更大:原生波长隔点取样让五个预设改变约40至145 ppm,删去已知温度行改变约3.4至31.8 ppm,与实测不确定度相当。两ppm以内的内部检查以完整源产品和指定插值为条件,不能把这些表示变化换成总精度上界或高斯噪声。

可选的rebuild_grid.py从头重建2975根完整气柱,并核对最终单精度网格哈希。这是最慢的一步;完成输入哈希与独立验证后,后验复算可直接使用提供的网格。

python3 validate_grid.py --materials . --output rerun-validation
python3 rebuild_grid.py --materials . --output rebuilt-grid

对应阅读:Chubb et al. (2021) · ExoMolOP cross sections and k-tables · Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy

也要检查参照本身够不够细

早先320层计算对640或960层参照看起来过关,再换1280层检查,却发现两处网格差别约2.13和2.09 ppm。实际失败点、旧网格哈希和复现所需输入都保留下来,没有把难点删掉。

生产中的场景、光谱、网格与合成恢复现在统一采用384层;难点另外对2048层比较,当前网格的差别低于1.73 ppm。公开finer_reference.py会重算退役原生结果与当前计算;旧网格只用于复现失败,后验采用384层版本。

与指定有限积分参照相符,属于数值比较,并不是相对未知连续大气的严格误差界;更大的源采样与温度插值敏感性也仍然存在。后验继续以完整冻结产品和物理假设为条件。

python3 finer_reference.py --materials . --output rerun-finer

对应阅读:Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy · Chubb et al. (2021) · ExoMolOP cross sections and k-tables

在四种明示条件下复算同一后验

安装固定NumPy版本,在解压目录运行analyze.py。默认依次计算:仅含云;4500开尔文冷区、占比上限0.05;3500开尔文冷区、同样占比先验;以及4500开尔文冷区、上限收紧至0.01。各组都用同一实测74分箱、归一化高斯似然和L3给出的同一大气先验。

每组四条链,每条先预热6000步,再保留16,000步。保留位置彼此相关,因此汇总另报主体与尾部有效样本量,不把总保留数当成独立样本数。预热结束后提议不再自适应,超出先验的提议直接拒绝。

脚本保存完整物理与计算坐标链、参数分位数、诊断和逐分箱预测区间,另生成加上噪声的预测测量。比较脚本检查固定先验与收敛门槛,并对后验分位数采用明确数值容差,而不是把链文件哈希当成收敛证据;种子和软件版本在运行说明中固定。

python3 -m pip install -r requirements.txt
python3 analyze.py --materials . --output rerun
python3 verify_outputs.py --expected expected --actual rerun

对应阅读:Vehtari et al. (2021) · Rank-normalized split R-hat and effective sample size · WASP-39 b NIRISS author data · Zenodo 7709712 and fixed repository commit · Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy

坏结果也要留在答案里

先打开cloud-summary.json与spots4500-summary.json,再看各自预测CSV。保留样本的最小卡方约332和257,中位曲线标准化残差均方根约2.13和1.88;分别有28和23个观测点落在中央百分之九十五预测测量区间外。每个变化参数的链诊断都通过了,失败依然清楚存在。

接着看完整参数区间:温度挤向先验低界,水丰度挤向高界,云压与参考半径互相补偿。4500开尔文冷区占比中位数约0.0224;改用3500开尔文谱,移到约0.0373。缩窄占比先验,后验与剩余偏差都会改变。

连续正先验内部的正区间,不能检验单点假设 f=0f=0。这里没有计算证据积分或Bayes因子,也不能把受限模型之间的卡方差,直接说成与模型无关的分子或恒星检测显著性。

练习没有其他吸收体和非灰云物理,还把未知分箱协方差当成零。原论文使用了更丰富的大气模型。这些简单模型解释部分谱带结构,同时留下需要继续处理的物理或统计偏差。

对应阅读:Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS · Rackham, Apai and Giampapa (2019) · The Transit Light Source Effect II · Brogi and Line (2019) · Retrieval with high-resolution cross-correlation spectroscopy · Vehtari et al. (2021) · Rank-normalized split R-hat and effective sample size

让已知大气回答一个更窄的问题

检验命令另行求解一个不在网格节点上的大气:1123开尔文、水占比对数负3.47、云压对数负1.37、十巴半径比0.1337、冷区占比0.018。再按原分箱误差加入固定高斯噪声。合成CSV有明确标签,与真实NIRISS输入分开放置。

这组四链后验通过相同诊断,保存运行中每个注入参数都在各自边缘百分之九十五区间内。这一例找回了输入;区间覆盖率还要跨多种大气与噪声反复检验。

其他独立检查包括:严格关掉水吸收、积分均匀吸收球壳、逼近薄大气掠射柱密度极限、验证相同恒星谱不给污染、核对有限先验归一化,以及用自回归参照检查有效样本量。故意分开的链必须触发失败。

最后把真实与合成残差放在一起。模型生成的数据能找回输入,真实数据却预测不好,两件事可以同时成立,也正好把计算跑通与行星解释充分区分开。

python3 verify_science.py --materials . --output rerun-checks --synthetic

对应阅读:Vehtari et al. (2021) · Rank-normalized split R-hat and effective sample size · Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy · Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS

实测后验保留失败结果

各行使用同一实测74分箱与大气先验,每组四条链,预热后每条至少保留16,000个相关位置。有效样本量另报,下面取各变化物理参数中的最小值。链诊断通过,不会消除预测失败。

条件保留最小卡方最大分链R-hat最小主体与尾部有效样本量预测测量区间外分箱数
灰云,无冷区331.95331.951.002621.00262186628
4500开尔文,占比不超过0.05257.11257.111.003411.0034191623
3500开尔文,占比不超过0.05248.17248.171.005361.0053682120
4500开尔文,占比不超过0.01279.27279.271.006531.00653106328

温度和水丰度堆向先验边界,固定恒星谱与占比先验也影响答案。公开预测CSV保留逐波长残差,没有计算模型证据或Bayes因子。

用画面解释一条后验退化

  1. 重现高云状态,指出哪些大气光路被云删除。
  2. 加入未掩食冷区,观察气体光路不动而表观光谱改变;回到后验CSV,找出它能部分补偿的波长形状。

练习与解释性答案

  1. 如果有人把水丰度中位数报到很多位小数,你会先检查哪份输出?

    展开解释

    先看完整丰度区间、参数边界和标准化预测残差。本题后验挤在丰度上界,同时漏掉许多实测分箱。剩下的偏差决定哪部分物理解释还需要修订。

  2. 把冷区占比上限从0.05改为0.01,没有模型证据计算时还能比较什么?

    展开解释

    比较两套条件下的后验区间、边界堆积和逐分箱预测失败。公开的窄先验运行仍收敛,但拟合更差;若要进一步比较模型证据,还要对各模型的似然按适当先验积分。

来源与计算范围

  1. Vehtari et al. (2021) · Rank-normalized split R-hat and effective sample size

    Bayesian Analysis 16,667–718;采用修正后的秩归一化分母,并核读作者附录https://avehtari.github.io/rhat_ess/rhat_ess.html。独立NumPy实现另按Stan 2.33参考定义计算自相关与初始正、单调成对截断,附独立同分布、AR(1)及故意分离链的检验。诊断针对采样,不证明物理模型充分。

  2. Feinstein et al. (2023) · Early Release Science of WASP-39 b with JWST NIRISS

    已发表,Nature 614,670–675。核读图1至图3及谱提取、光变与大气模型方法。教程使用作者发布的固定nirHiss光谱,选取74个一阶分箱,没有重做论文的完整化学与云检索。

  3. WASP-39 b NIRISS author data · Zenodo 7709712 and fixed repository commit

    归档数据采用CC BY 4.0;精确CSV取自作者仓库固定提交0608071e1e70ec7ff12707774ea03ace4b52ea85,仓库另附MIT许可。公开出处文件保存原始字节、选行规则、单位与SHA256,没有整取归档。

  4. Heng and Kitzmann (2017) · Transmission spectra and the radius–pressure degeneracy

    固定接受稿arXiv 1702.02051v2,对应MNRAS 470,2972–2981,DOI 10.1093/mnras/stx1453。第2.2节推导薄大气、恒定引力极限;第3.2至3.3节讨论参考半径与压力。本课程另行推导随距离变化引力的扩展。

  5. Chubb et al. (2021) · ExoMolOP cross sections and k-tables

    A&A 646,A21;核读第3.1至3.3节和表1至表3。真实采样截面产品给出压力、温度、波数及每分子的平方厘米截面。近似氢氦展宽和源分辨率保留为模型条件。

  6. Polyansky et al. (2018) · The POKAZATEL water line list

    主水同位素线表的一手说明。交付的截面是ExoMolOP衍生产品,没有重新计算完整线表。ExoMol数据及本题截面衍生文件保留CC BY-SA 4.0。

  7. Husser et al. (2013) · A PHOENIX library of stellar atmospheres and spectra

    恒星模型库的一手说明。冻结输入采用另行固定版本的中分辨率衍生产品Zenodo 17674612,1.0版,CC BY 4.0。真实ASCII单位是纳米与每平方厘米、每秒、每纳米的尔格,光谱保留未缩放表面流量。

  8. Stuitje · PHOENIX medium-resolution stellar spectra, version 1.0

    三个精确源成员的温度为3500、4500与5500开尔文,cgs对数引力4.5,太阳金属丰度及零alpha增丰。公开包保留原始成员、ZIP偏移、CRC32、SHA256与CC BY 4.0出处。有效光谱分辨率为5000,过采样不会提高有效分辨率。

  9. Rackham, Apai and Giampapa (2019) · The Transit Light Source Effect II

    固定arXiv 1812.06184v1,对应AJ 157,96,DOI 10.3847/1538-3881/aaf892。第III.1节式3至式6定义未掩食区域修正及均匀亮度近似;第IV.3节说明,通常活跃程度的F、G、K型恒星分子污染一般较弱。

  10. Brogi and Line (2019) · Retrieval with high-resolution cross-correlation spectroscopy

    固定接受稿arXiv 1811.01681v2,对应AJ 157,114,DOI 10.3847/1538-3881/aaffd3。第II.2.2节推导似然映射;图2、图5、图7和图10分别检查处理、标定、线表选择与遗漏吸收体。本题低分辨教学截面不能复现论文的逐线分析。

反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策