跳到主要内容
Sandbox Physics
从阳光推力读到真实彗尾

L3 · 彗尘动力学

把固定 JPL 尘埃几何投影到真实 HST 的 ISON 图像

本教程比较外层尘尾的观测方向与计算释放几何。你会从真实 HST 像素找出宽尾,按档案 WCS 确定朝向,再看到几组释放历史为什么几乎指向同一方向。下方公开材料配合 Python 标准库即可复算。

选一帧曝光,以实际观测时刻为准

采用 13198 项目、PI J.-Y. Li 的 HST/WFC3 F606W 数据集 ic7301ooq。单帧曝光的 UTC 修正儒略日从 56392.21727116 到 56392.22041947,曝光时长二百七十二秒。两端平均得到 2013 年 4 月 10 日 05:15:08.235216 UTC,几何以这个中点为准。

固定 FITS 的处理日期是 2026 年 6 月 1 日,CAL_VER 为 3.7.3,版本日期 Jan-07-2026。处理日期、2013 年曝光日期和公开图片发布日期是不同的。Li 等论文采用较长观测序列与当年的合成处理;这里复算的是明确选定的档案单帧诊断。

原始 FITS 为 13,579,200 字节,SHA-256 和 MAST 直链均在出处文件中。按 MAST 公共任务政策使用并注明 HST/MAST 来源;未经修改的档案 JPEG 与比较图一并提供。它们分别保留观测预览和测量像素,交互粒子另作教学展示。

对应阅读:MAST HST program 13198 and public data-use policy · Li et al.

在空目录里运行

新建空目录,下载五个必需文件后执行下面命令。无需网站源码、Lab 引擎、Python 扩展包或账号。脚本先检查两个输入的哈希,再输出完整数字与 SVG;SVG 灰度来自实际图像像素。保存的结果由 Python 3.12.14 生成。Python 3.9 及更高版本都可重算,但求和、数学库与 PNG 压缩的差别,可能改变末位数字或文件字节。

若要重算相对摄动力检验,再下载 ison-perturbers.json 与 relative_release_reference.py,并加上 --force-check。它会积分采样的行星差分加速度和彗核出气项,比基础方向比较慢。固定参考结果包含这一步。

            mkdir ison-tutorial
cd ison-tutorial
curl --fail --remote-name https://sandboxphysics.com/stories/comet-dust/reproduce-ison.py
curl --fail --remote-name https://sandboxphysics.com/stories/comet-dust/comet_orbits.py
curl --fail --remote-name https://sandboxphysics.com/stories/comet-dust/svg_figure.py
curl --fail --remote-name https://sandboxphysics.com/stories/comet-dust/ison-image.json
curl --fail --remote-name https://sandboxphysics.com/stories/comet-dust/ison-ephemeris.json
python3 reproduce-ison.py --directory . --output result.json --figure comparison.svg
          

对应阅读:MAST HST program 13198 and public data-use policy · JPL Horizons API and observer/vector conventions

分清接收时刻与发光时刻

Horizons 观测量 30 给出曝光中点的 TDB 比 UTC 快 67.185633 秒,查询 TDB 向量前先加上这个间隔。观测量 21 给出地心光行时 35.28174224 分钟。彗星取较早的发光时刻,地球取接收时刻。

所有冻结向量使用 ICRF 轴和 FRAME 参考平面。彗星释放状态是未作光行时修正的日心几何向量。先取地球接收时刻与太阳发光时刻各自的质心位置,相减得到同一原点下的观察者位置。若直接拿同一时刻日心地球相减,就可能混用移动原点。重建彗星方向与另查的 Horizons 光行时修正天体测量方向,在保存精度下吻合。

JDobs,TDB=2456392.7196229263,JDemit,TDB=2456392.6951217162JD_{\rm obs,TDB}=2456392.7196229263,\qquad JD_{\rm emit,TDB}=2456392.6951217162
曝光中点先按 UTC 读取,再采用 Horizons 给出的时标差,不猜闰秒数。两组 TDB 时刻相差单程光行时。
Robs=xE,bary(tobs)−x⊙,bary(temit),ℓ=rc,helio(temit)−Robs\boldsymbol R_{\rm obs}=\boldsymbol x_{E,\rm bary}(t_{\rm obs})-\boldsymbol x_{\odot,\rm bary}(t_{\rm emit}),\quad \boldsymbol\ell=\boldsymbol r_{c,\rm helio}(t_{\rm emit})-\boldsymbol R_{\rm obs}
观察者向量以太阳在发光时刻的位置为原点。所得视线赤经约九十九点三零零八二一六四一度,赤纬约三十点二三九二一九二二七度。

对应阅读:JPL Horizons API and observer/vector conventions · MAST HST program 13198 and public data-use policy

给太阳模型配上同一条参考母轨道

每个释放状态都传播两条太阳圆锥轨道:尘粒用减弱引力,配对母体用正常引力。到发光时刻后,先取两者的相对位移,再加到 JPL 彗核上。这是以 JPL 几何为基准的太阳相对释放近似,不是完整 JPL 尘粒轨道。

配对母体很关键。从一百二十日前释放状态出发的纯太阳母体,最终与 JPL 彗核相差约二万八千五百七十七千米;若直接相减,零光力也会出现假尘尾。相对构造在力比和释放速度都为零时,位移严格为零。

独立检验沿每日 JPL 彗核路径积分,加入八个行星系统的差分加速度,以及彗核独有 Marsden A1/A2 出气加速度的负项。行星力既有共同部分也有差分部分;彗核出气不能默认由尘粒共享。十六组测试中,相对位移变化最大约百万分之二点八,位置角变化最大约零点零零零零七四度;单独的彗核出气影响小于零点零一千米。步长细化也作了比较。这些是采样敏感性结果,不是所有释放参数的严格误差界;行星多极项、小行星摄动和相对论仍未纳入。

rd,approx(t)=rc,JPL(t)+[rd,solar(t)−rp,solar(t)]\boldsymbol r_{d,\rm approx}(t)=\boldsymbol r_{c,\rm JPL}(t)+\left[\boldsymbol r_{d,\rm solar}(t)-\boldsymbol r_{p,\rm solar}(t)\right]
两条太阳轨道从同一个 JPL 释放位置与速度开始;本教程的几何族线不加释放速度。摄动力检验覆盖三十、六十、九十、一百二十日年龄,以及零点零零五、零点零三、零点一、零点三四档力比。

对应阅读:JPL Horizons API and observer/vector conventions · Finson & Probstein · Burns

投影到原生像素,保留图像的手性

先把视线方向投到档案参考天区的切平面。设目标方向为 q,参考东、北与中心各取一个单位向量,则切平面坐标是 ξ=(q⋅e)/(q⋅n0)\xi=(\boldsymbol q\cdot\boldsymbol e)/(\boldsymbol q\cdot\boldsymbol n_0) 与 η=(q⋅n)/(q⋅n0)\eta=(\boldsymbol q\cdot\boldsymbol n)/(\boldsymbol q\cdot\boldsymbol n_0)。把弧度换成度,乘档案 CD 矩阵的逆,再加 CRPIX。脚本采用完整 TAN 投影。

FITS 参考像素从一开始编号,原生数组行沿像素正 y 增加;显示时才反转行。CD 行列式为负,若不看它的符号、直接套“北上东左”的通用画法,就可能把图像镜像。图像正 y 轴为从北向东量负四十二点八二一度,与档案 ORIENTAT 一致。

另将日彗向量与反日心速度独立投影,同 Horizons 观测量 27 比较,分别得到九十二点一八七度和七十九点二七七度。故意镜像罗盘后,尘尾扇区峰从九十度转到约一百八十五度。JPL 彗核在从零编号的原生像素约为 (514.48, 528.54),在这里的粗采样尺度下与中央天体位置一致。

[ξη]deg=[−8.07234108−7.48061280−7.480612808.07234108]10−6[xFITS−515yFITS−543.5]\begin{bmatrix}\xi\\\eta\end{bmatrix}_{\rm deg}=\begin{bmatrix}-8.07234108&-7.48061280\\-7.48061280&8.07234108\end{bmatrix}10^{-6}\begin{bmatrix}x_{\rm FITS}-515\\y_{\rm FITS}-543.5\end{bmatrix}
矩阵单位是每原生像素多少度。符号和手性决定罗盘朝向,也决定比较图里的角尺度标尺。

对应阅读:MAST HST program 13198 and public data-use policy · JPL Horizons API and observer/vector conventions

测量宽尾,再看还剩几种解释

图像输入把有限、覆盖权重大于零的原生八乘八像素块取中位数,同时保存覆盖比例,负背景也保留。这能压低孤立亮点,却不是保流量孔径测光。若直接取全帧最亮原生像素,会选到远离彗核的 (201, 803)。

每隔五度放一个二十度宽的扇区,统计亮度中位数。二至六、四至十、六至十二、八至十五角秒四个重叠径向范围,峰都在九十度。它们检验的是半径选择敏感性,共享像素又含 drizzle 相关噪声,不能当作四次独立探测;五度步长也不是误差棒。内两角秒被排除,因为内彗发含有向日喷流。

下面两组实际输出中,三十日、力比零点一,与六十日、力比零点零三的粒子都到约八角秒处,方向只差半度左右,均与粗略宽尾方向相容。要反推尺寸或喷发日期,还需亮度模型、生产历史与多期图像。计算对尘粒采用同一发光时刻;对十五角秒内的采样点,保存的差分光行时位移估计小于十千米,适合这里的粗方向比较,不适合精密天体测量拟合。

年龄(日)力比分离(角秒)从北向东位置角(度)
300.17.9291.558
600.038.5891.007
1200.0054.7990.081
观测扇区峰多种值相容测试 2—1590,按五度网格

对应阅读:Li et al. · MAST HST program 13198 and public data-use policy · Finson & Probstein

下载原输入与完整结果

前五个文件即可用 Python 标准库完成基础比较;相对力模块与摄动数据用于 --force-check。最后两个提取脚本可选用来从 MAST 与 Horizons 重建输入,图像提取需要 NumPy。

可选:从固定档案响应重建小输入

下载两个提取脚本与 horizons-source-queries.json,先恢复固定 Horizons 响应的原始字节,再解析星历、提取原 FITS。MAST 原文件必须匹配保存的哈希;日后档案若重新处理,检查会明确失败。上方五文件复算不依赖未来档案是否更新。

mkdir source
python3 -c "import json,pathlib; p=pathlib.Path('source'); [p.joinpath(n).write_text(t) for n,t in json.load(open('horizons-source-queries.json')).items()]"
curl --fail -o source/ic7301ooq_drz.fits 'https://mast.stsci.edu/api/v0.1/Download/file?uri=mast:HST/product/ic7301ooq_drz.fits'
curl --fail -o source/ic7301ooq_drz.jpg 'https://mast.stsci.edu/api/v0.1/Download/file?uri=mast:HST/product/ic7301ooq_drz.jpg'
python3 fetch-horizons.py --directory source
python3 freeze-observation.py --source-directory source --output-directory rebuilt --documentation-directory rebuilt-docs
真实 HST ISON 像素、投影尘埃族线与 WCS 罗盘
灰度来自实测像素的中位数降采样与对数显示;彩线为太阳相对释放模型,箭头为反太阳和反速度方向。查看未经修改的 MAST 预览

亲手观察

把投影接回三维图景

  1. 比较喷发族线与同粒径族线,再把视线转到轨道平面附近。
  2. 回看真实比较图,认出测量像素、参考方向和计算释放曲线分别在哪里。

练习与答案

把代码改为选取最亮原生像素,或镜像横轴,会发生什么?哪项检验能发现错误?

最亮原生像素会选到远处污染点;镜像则让扇区峰跑到约一百八十五度,罗盘手性也反了。解释尘尾前,应检查 JPL 彗核像素、CD 行列式、ORIENTAT 与独立投影的 Horizons 位置角。

采样摄动力修正很小,为什么仍不能宣称精确测到了 ISON 尘粒大小?

那些数字只比较固定释放假设下的几种动力学近似。图像仍有宽扇区重叠、相关噪声、释放速度未知及粒径年龄退化;没有定标表面亮度似然,也没有唯一粒子分布,结论只到几何方向比较。

来源与计算范围

  1. Finson & Probstein, A Theory of Dust Comets I (1968)

    ApJ 154,327—352,DOI 10.1086/149761。第 I—III 节,特别是第 329、334—335 页与图 4:脱离气体拖曳后的尘粒、减弱的太阳引力、等时线与等粒径线。教学场景另加明确写出的释放速度假设。

  2. Burns, Lamy & Soter, Radiation Forces on Small Particles (1979)

    Icarus 40,1—48,DOI 10.1016/0019-1035(79)90050-2。第 III—IV 节推导一阶辐射力;第 VI 节式 (19) 与图 7 讨论压力效率;第 VII—VIII 节、式 (47)—(50) 讨论减弱引力的轨道与轨道平均 PR 演化。核读作者托管的 48 页全文。

  3. Li et al., HST observations of Comet ISON, arXiv:1311.0826v1

    第 2 节给出 2013 年 4 月 HST 观测序列与原处理;向日内喷流与延伸尘尾促使教程在粗略方向诊断中排除中心两角秒。教程使用档案 2026 年处理的单帧,与论文合成图不同。

  4. MAST HST program 13198 and public data-use policy

    HST/WFC3 F606W 数据集 ic7301ooq。固定 ic7301ooq_drz.fits,13,579,200 字节,SHA-256 为 bd436ea87d7ab05ba8e10280e03ea04887db7055841260fb8b4bdf0b547e33f7。按 MAST 公共任务数据政策使用并注明 HST/MAST、13198 项目、PI J.-Y. Li;STScI 由 AURA 按 NASA NAS5-26555 合同运行。

  5. JPL Horizons API and observer/vector conventions

    API 响应版本 1.2,API 文档版本 1.3。固定彗星记录 90004196、解 JPL#57(2025-Nov-21_13:42:48)、DE441。对应 TIME_TYPE、TLIST、ICRF/FRAME 向量约定和观测量 1、19、20、21、24、27、30;保存的请求与响应保留时标和几何选择。

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

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