---
title: "留出整个星团，检验一把自转尺"
description: "下载固定作者源文件，找回全部基准星，保留样本版本差别，再独立复算冷星停滞与整团留出的条件年龄检验。"
canonical_url: "https://sandboxphysics.com/zh/stories/stellar-rotation-ages/hold-out-a-cluster/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/stellar-rotation-ages/hold-out-a-cluster/"
last_modified: "2026-11-03"
---

[星斑、自转与恒星年龄](https://sandboxphysics.com/zh/stories/stellar-rotation-ages/)

AC27 · L4

# 留出整个星团，检验一把自转尺

Sandbox Physics · 2026-11-03

留出整个星团，可以检验一把自转年龄尺能否用于没参与拟合的恒星。先固定源文件，再明确选星规则。这个例子的第一处陷阱很具体：看似合理的定宽解析器，会把Ruprecht147的全部基准星悄悄丢掉。

## 开始前需要什么

先读《自转年龄需要一条分布和一把标尺》。需要Python3.12、NumPy、SciPy，并能区分表格中的缺值与整行丢失。

## 先取得确切的作者版本

下载下方独立科学ZIP，解压到一个新目录。清单列出每个包内文件的字节数与SHA256。包里放的是自写科学代码、合成星面观测和聚合拟合系数；作者原表在你的电脑上从具名原站获取。

```
python verify_package.py
python fetch_sources.py --output inputs
python reproduce.py --inputs inputs --output results
python validate_science.py
```

已验证环境为Python3.12.12、NumPy2.4.4、SciPy1.17.1，requirements文件固定了版本。下载器取Curtis2020的arXiv2010.02272v1与Curtis2019的arXiv1905.06869v3源包，响应体合计1,689,195字节。每个源包、每个提取成员都必须匹配具名大小与哈希；缓存损坏会立即失败，不能悄悄换一份文件继续。

2020源包共1,258,259字节，SHA256为0d1ef91cd427a4ca8617157f11d04bb995789da768bb9fbf51cbc7ca634c85dd。源清单分别列出Benchmark\_Clusters.txt、Table\_1-Ruprecht147\_Catalog.txt与main.tex；2019源包则提供Table1.tex和ms-arxiv.tex。整个比较始终区分两个版本。

AAS旧文免费阅读，不自动等于原表获得CC-BY转载许可。网站只公开自写合成结果、聚合分析和原站下载器；原表、逐星派生目录和观测星散点留在本地。上游文献仍适用各自权利与条款。

对应阅读：Curtis et al. (2019), A Temporary Epoch of Stalled Spin-Down for Low-Mass Stars: Insights from NGC6811 with Gaia and Kepler arXiv1905.06869v3 · Curtis et al. (2020), When Do Stalled Stars Resume Spinning Down? Advancing Gyrochronology with Ruprecht147, arXiv2010.02272v1 · AAS Journals, article charges and copyright policy

## 选星之前，先把每一行数全

合并基准表共有923行：昴星团330，蜂巢星团359，NGC6811有161，NGC752有8，NGC6819有30，Ruprecht147有35。照表头声明的定宽格式直接读，只能恢复888行；少掉的35行，恰好全是较老的Ruprecht星团，它们实际排版没有遵守那些宽度。

附带解析器从最后一条表格分隔线之后开始，沿明确的Gaia DR2标识分隔，再读取末尾八个数值列。随后验证周期、温度为正，星团与标识组合不重复，总行数完整。任何解析失败都会停止计算，不能一边捕获异常一边跳过，让解析器暗中决定哪些年龄留下来。

独立Ruprecht目录有440条记录，其中两条没有Gaia标识。要求周期为正，Benchmark字段严格等于Yes，得到35颗星，标识与合并表中35颗逐一相符。若偷改成Yes前缀匹配，则变成39颗：多进来三颗快转离群星，以及一颗周期可能来自次星的目标。

作者基准样本还可能保留宽双星，因为宽伴星未必显著改变目标的自转演化。把所有双星标记一律删掉，又是另一种选样。这个练习保留具名的作者子样本，并说明含义，没有重建一份新成员普查。

对应阅读：Curtis et al. (2020), When Do Stalled Stars Resume Spinning Down? Advancing Gyrochronology with Ruprecht147, arXiv2010.02272v1

## NGC6811的几个样本不要混成一个

2020机器表里有161颗NGC6811星。另一段多项式选择说明写的是135颗YY转子。2019v3的TeX表实际有172行，代码分别为162个Y、8个S、2个R，摘要却写171个测得周期的成员。2020子样本的161个标识全部出现在2019表中，另有11个只出现在较早那份表。

这些是不同版本、不同选择的陈述。这里拟合的是2020机器表中按温度截取的实际子集，不称作已发表的135YY校准。下载器提供两个来源，先看清差别，再解释拟合。

温度来自原文去消光的Gaia DR2颜色尺度。周期是以天为单位的派生周期，不是原始K2或地面曝光的时间戳。合并文件没有同质的逐星周期误差列，也没有采样时刻、曝光时长或时标。另一份样本的季度变化，不能直接拼成这161颗星的统一误差。

Curtis2019曾借助自转年龄比较，把NGC6811消光细化为0.15星等。我们导入的温度继承这个选择。把整个星团从新的周期拟合中留出来，也没有独立重建它的颜色与消光尺度。

对应阅读：Curtis et al. (2019), A Temporary Epoch of Stalled Spin-Down for Low-Mass Stars: Insights from NGC6811 with Gaia and Kepler arXiv1905.06869v3 · Curtis et al. (2020), When Do Stalled Stars Resume Spinning Down? Advancing Gyrochronology with Ruprecht147, arXiv2010.02272v1

## 只拟合年轻参考，观察简单规律怎样失灵

第一个模型故意简单：只用4200至6000开尔文的64颗蜂巢星团星，拟合缩放温度上的四次对数周期多项式。做十二次Huber式重加权，阈值取1.5倍稳健尺度；另保留普通最小二乘拟合作比较。

$$
x=\frac{T-5100\,\mathrm K}{900\,\mathrm K},\qquad \log P_{\rm ref}(T)=\sum_{j=0}^{4}a_jx^j,\qquad t_{\rm sep}=0.67\left(\frac{P}{P_{\rm ref}(T)}\right)^{1/n}\mathrm{Gyr}.
$$

指数0.5与0.62强加可分离年龄规律，随后拿留出的整个星团检验。

其他星团完全不参与这条参考拟合。NGC6811在4200至4600开尔文的27颗星，两种指数给出年龄中位数0.709与0.702十亿年，原表采用年龄却是十亿年。5500至6000开尔文的另27颗星，则给出1.161与1.044十亿年。错位随温度改变，正是普遍可分离时钟值得保留的一次失败。

重抽训练星三百次，只估计训练组成怎样改变参考曲线，不会改变星团年龄、消光、检测选择或缺失的周期误差。附带的消光敏感性检验只改变NGC6811颜色修正，变温后越出支持域的星明确排除。冷端0.62规律的年龄，在0.15、0.22、0.25星等消光情景下约为0.702、0.709、0.712十亿年。这次具体敏感性变化没有消掉停滞。

对应阅读：Curtis et al. (2019), A Temporary Epoch of Stalled Spin-Down for Low-Mass Stars: Insights from NGC6811 with Gaia and Kepler arXiv1905.06869v3 · Curtis et al. (2020), When Do Stalled Stars Resume Spinning Down? Advancing Gyrochronology with Ruprecht147, arXiv2010.02272v1

## 再建立有实际覆盖的非可分离比较

后一个教学模型分别拟合蜂巢、NGC6811和Ruprecht147的三次对数周期序列，4200至6000开尔文初筛后分别有64、103、24颗星。实际共同支持域收窄到4245.37至5832.12开尔文。插值保留随温度改变的年龄响应，有效预测周期宽度在上一章和聚合标尺文件中给出。

NGC6819与NGC752整团留出。共同支持域内，NGC6819的19颗星，条件年龄中位数约2.40十亿年，固定参考为2.5；中央95%区间宽度的中位数约0.80十亿年，超过一半目标提示标尺边缘积累。NGC752有5颗，条件年龄中位数约1.29，固定参考1.4，95%宽度中位数约0.99十亿年。

还可以把NGC6811从标尺本身拿掉，检验跨年龄插值。其97颗星位于新支持域内，条件年龄中位数约0.850十亿年；约92.8%的中央95%区间包含固定的十亿年，约61.9%触发边缘提示。这些结果说明这套办法怎样工作、在哪里吃力，没有给出绝对精度证明。

目录比较对已发表周期和温度作精确条件化，因为同质测量误差并未提供；预测周期宽度仍然保留。数值摘要会说明这个条件，保留边缘积累，不给每颗星编造误差条。

0

## 独立复算合成观测的推断

材料还带着180次自写合成曝光观测，它们来自共享有限星面。另一套极坐标积分会重现无噪声流量；周期似然与完整数据协方差高斯计算对照，再细化频率搜索以及年龄、温度积分。

验证命令保留正轴与短寿命失败、双经度半周期和精确日混叠。它也把新增差分自转、消散状态与独立极坐标星面积分比较，检验角动量守恒，并从声明的预测模型抽取400个年龄做条件校验。这些生成例子检验的是正在学习的数值计算与模型条件。

所有命令结束后，打开results/summary.json和各份独立验证摘要。它们只输出聚合结果和自写合成结果。若要研究成员或单颗星的已发表周期，可以在本地对照旁边具名取得的原始输入。

0

## 练习与解释性答案

1. 解析器读出888行且没有报错，怎样发现它丢星了？

   展开解释

   逐个星团比较预期总数和标识集合，Ruprecht147的35颗会全部缺失。数值转换成功并不够，年龄组成也必须完整。

2. 为什么把NGC6811从新周期拟合中留出，仍只是条件验证？

   展开解释

   温度与消光仍沿用源研究流程，原流程细化消光时用过自转比较。新拟合确实留出了它，导入的温度尺度却仍共享。

## 动手检验预测

### [重算同一份保存观测](https://sandboxphysics.com/zh/labs/binary-star-mass/?analysis=rotation-age)

1. 从Lab导出“持久的时钟”，把数据结构、字段定义和保存的测量量同synthetic-observations.json比较。
2. 先用包内合成观测跑通独立程序，确认两个周期解释及归一化年龄密度，再替换任何输入。
3. 比较日采样或短寿命导出与默认记录。检查最高峰对应的数据诊断，保留短寿命或弱信号的失败。

[上一篇：自转年龄需要一条分布和一把标尺](https://sandboxphysics.com/zh/stories/stellar-rotation-ages/an-age-density-needs-a-scale/) [下一篇：磁制动在哪里改变了节奏](https://sandboxphysics.com/zh/stories/stellar-rotation-ages/read-the-changing-braking-evidence/)

## 公开独立复算材料

ZIP包含独立科学代码、自写合成观测、星团聚合比较和精确原站清单。两份固定作者源包在你的电脑上下载并校验哈希，包里没有原始表格或逐星观测行。

[下载完整独立复算 ZIP](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/rotation-age-science.zip)

SHA-256: `2b768a2960a429d265765bda1439d1b3571a12744a78c53942d64eaa92d7f9ed`

逐项科学文件校验值也保存在 package-manifest.json 中。

- [LICENSE.txt](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/LICENSE.txt) · 472 字节
- [README.md](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/README.md) · 4,615 字节
- [age\_calibration\_prototype.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/age_calibration_prototype.py) · 6,066 字节
- [calibration-aggregate.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/calibration-aggregate.json) · 2,218 字节
- [conditional\_age.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/conditional_age.py) · 6,101 字节
- [empirical\_calibration.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/empirical_calibration.py) · 4,260 字节
- [exposure-injections.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/exposure-injections.json) · 45,141 字节
- [fetch\_sources.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/fetch_sources.py) · 2,400 字节
- [frequency\_measure.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/frequency_measure.py) · 8,841 字节
- [inspect\_cluster\_samples.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/inspect_cluster_samples.py) · 6,821 字节
- [instantaneous-line-injections.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/instantaneous-line-injections.json) · 3,550,567 字节
- [package-manifest.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/package-manifest.json) · 4,942 字节
- [period\_likelihood.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/period_likelihood.py) · 3,927 字节
- [reproduce.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/reproduce.py) · 7,630 字节
- [requirements.txt](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/requirements.txt) · 27 字节
- [rotation-age-science.zip](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/rotation-age-science.zip) · 602,006 字节
- [rotation\_reference.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/rotation_reference.py) · 2,877 字节
- [source-manifest.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/source-manifest.json) · 1,636 字节
- [surface-injections.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/surface-injections.json) · 70,840 字节
- [surface-reference.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/surface-reference.json) · 27,225 字节
- [synthetic-observations.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/synthetic-observations.json) · 31,018 字节
- [toy-rotation-reference.json](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/toy-rotation-reference.json) · 5,192 字节
- [validate\_science.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/validate_science.py) · 669 字节
- [verify\_angular\_momentum.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_angular_momentum.py) · 2,719 字节
- [verify\_evolution.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_evolution.py) · 1,227 字节
- [verify\_exposure.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_exposure.py) · 1,450 字节
- [verify\_failure\_domains.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_failure_domains.py) · 6,308 字节
- [verify\_hooks.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_hooks.py) · 2,528 字节
- [verify\_instantaneous\_line.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_instantaneous_line.py) · 8,034 字节
- [verify\_package.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_package.py) · 537 字节
- [verify\_reddening\_sensitivity.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_reddening_sensitivity.py) · 2,900 字节
- [verify\_sample\_versions.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_sample_versions.py) · 2,031 字节
- [verify\_shared\_surface.py](https://sandboxphysics.com/stories/stellar-rotation-ages/materials/verify_shared_surface.py) · 4,200 字节

## 来源与计算范围

1. [Curtis et al. (2019), A Temporary Epoch of Stalled Spin-Down for Low-Mass Stars: Insights from NGC6811 with Gaia and Kepler arXiv1905.06869v3](https://arxiv.org/abs/1905.06869v3)

   第2至4节及源文件表1：NGC6811周期、季度处理、成员、消光与冷星停滞。TeX表实际172行，版本差异保留。

2. [Curtis et al. (2020), When Do Stalled Stars Resume Spinning Down? Advancing Gyrochronology with Ruprecht147, arXiv2010.02272v1](https://arxiv.org/abs/2010.02272v1)

   第2至6节、附录A、表4、图2与图8至12，以及两个具名机器表。独立限温拟合使用实际机器表，没有冒充另一段说明中的135YY选样。

3. [AAS Journals, article charges and copyright policy](https://journals.aas.org/article-charges-and-copyright/)

   2026-11-03查阅的获取与版权政策。2021年前文章免费可读，不自动赋予原表CC-BY转载许可；具名原站下载把原材料留在本地。
