计算高度角
当定义一颗星的升落点时,通常需要考虑大气折射(蒙气差)。这个效应使升起的时间略早于无折射的情况,而下落时间则显得略晚。本项目中计算高度角和天体视运动轨迹时使用同一个大气模型。模型中使用标准大气压,温度为 10°C,由此得到的地平线处折射角约为 34 角分。更多细节请参阅本项目使用的主要 Python 科学包 Skyfield 文档中的计算折射角部分。
日出和日落
定义日出和日落时,不仅包含大气折射,也计入太阳半径。Skyfield 遵循美国海军天文台给出的日出日落定义:
出于计算目的,日出日落被定义为……日面中心位于地平线下方 50 角分处……这 50 角分是通过将太阳平均视半径(16 角分)与地平线处平均大气折射角(34 角分)相加得到的。
晨昏时分的天体可见度
日落: 0°
民用晨昏蒙影: 地平线下 0° 至 6°
航海晨昏蒙影: 地平线下 6° 至 12°
天文晨昏蒙影: 地平线下 12° 至 18°
入夜: 地平线下 18°
根据 Tousey 和 Koomen(1953),各晨昏蒙影阶段天体可见度如下:
- 日出/日落: 此时只有金星、木星等非常亮的星才能肉眼可见。
- 民用曙光始/民用暮光终: 此时在大部分天区亮于 1 等的星能够肉眼可见。
- 航海曙光始/航海暮光终: 此时在大部分天区亮于 4 等的星能够肉眼可见。
时区
本项目中调用的时区数据使用的是 “Same since 1970” from Timezone Boundary Builder。根据 IANA time zone database,这个数据库该数据库试图记录自 1970 年(Unix 时间戳)以来的历史时区和所有民事变更。
本项目中的时区标识(Time zone ID)和标准偏移量(standard offset)反映某地理位置的当前时区。这是为了保证生成稳定且无歧义的时区标识,同时也为用户提供更熟悉、更直观的当地时间参考。其取值仅用于计算二分二至日期、计算升落时间窗口以及结果表格中标准时这一列的数据显示。
角分和角秒符号
角分和角秒分别使用 ASCII 半角单引号 ' 和半角双引号 " 以适应不同的显示方式。
日期格式
ISO 8601
# ISO 8601-2:2019
日期和时间: YYYY-MM-DDThh:mm:ss[.sss][Z|±hh:mm]
时间范围: YYYY-MM-DD/YYYY-MM-DD
公历纪元
NASA 关于公历纪元表示方法的约定 解释了使用 BCE/CE 代替 BC/AD 的理由:
近年来,一些历史学者提倡使用宗教中立的缩写词 BCE(公元前)代替“BC”、使用“CE”(公元)代替“AD”。由于这种表示方法的两个缩写都是后缀,因此更适合计算机表格的显示。