moira使用swisseph进行计算,在swisseph的计算模型中,先是从星历表中读取要计算的天体在当年的切比雪夫系数,再利用切比雪夫多项式得到近似值,再进行坐标修正得到天体的赤经赤纬,再通过黄赤交角的角度进行三角函数运算转换得到黄经黄纬。
swissephe的计算模型与权威的天文机构的计算方法存在差异,故moira计算出来的数据,与实际观测是存在误差的,但是这些误差有多大?这里对比紫金山天文台编纂的《2016年中国天文年历》的数据,分析误差的大小。(因为当地图书馆的最新的天文年历是2016年,2023年的天文年历暂时获取不到,故采用2016年的数据分析)
前提设置:moira的恒星制由于参考坐标系的原点不同,会减去岁差,而实际观测采用的是春分点为原点,故分析时,使用的是回归制,盘式设置为七政四余盘。同时修改swisseph源代码(SweDate的deltatIsDone方法,ans / 86400.0修改为68 /86400.0),修正之前提到的力学时误差,力学时与UTC差值delta T为68秒,与《2016年中国天文年历》一致
由于在moira所应用的领域,主要使用的是黄经赤经,黄纬赤纬不做误差分析。
太阳:
太阳数据,采用《2016年中国天文年历》11页数据,可以看到4月10日0时(UTC时间),moira软件设置为4月10日8时
天文年历的数据:
视黄经20度33分28.8秒,转成10进制为:20.558000度
moira计算的数据:
黄经:20.555148度,差值0.002852度
19页数据,可以看到11月10日0时(UTC时间),moira软件设置为11月10日8时
天文年历的数据:
视黄经228度0分58.5秒,转成10进制为:228.0163度
moira计算的数据:
黄经:228.020456度,差值0.004156度
太阳数据结论:因为0.0013 度= 1秒,误差3秒左右
月球:
月球数据,采用《2016年中国天文年历》49页数据,可以看到3月10日0时(UTC时间),moira软件设置为3月10日8时
天文年历的数据:
视黄经2度41分57.74秒,转成10进制为:2.699372度
moira计算的数据:
黄经:2.700773度,差值0.0014度
《2016年中国天文年历》61页数据,12月12日0时(UTC时间),moira软件设置为3月12日8时
天文年历的数据:
视黄经51度58分11.23秒,转成10进制为:51.969790度
moira计算的数据:
黄经:51.971199度,差值0.0014度
月球数据结论:0.0013 度= 1秒,误差1秒左右
金星
金星数据,采用《2016年中国天文年历》123页数据,可以看到8月20日0时(UTC时间),moira软件设置为8月20日8时
天文年历的数据:
视赤经11h16m35.43s,按每1h15度,转成10进制为:169.148745度
moira计算的数据:
赤经:169.147757度,差值0.000988度
金星结论,误差很小,满足要求
木星
木星数据,采用《2016年中国天文年历》135页数据,可以看到3月20日0时(UTC时间),moira软件设置为8月20日8时
天文年历的数据:
视赤经11h13m48.835s,按每1h15度,转成10进制为:168.453478度
moira计算的数据:
赤经:168.453490度,差值0.000012度
木星结论,误差很小,满足要求
水星
水星数据,采用《2016年中国天文年历》113页数据,可以看到6月20日0时(UTC时间),moira软件设置为8月20日8时
天文年历的数据:
视赤经4h37m45.18s,按每1h15度,转成10进制为:69.438250度
moira计算的数据:
赤经:69.438434度,差值0.000184度
水星结论,误差很小,满足要求
火星
火星数据,采用《2016年中国天文年历》127页数据,可以看到3月20日0时(UTC时间),moira软件设置为3月20日8时
天文年历的数据:
视赤经16h11m10.55s,按每1h15度,转成10进制为:242.793585度
moira计算的数据:
赤经:242.793982度,差值0.000397度
火星结论,误差很小,满足要求
土星
土星数据,采用《2016年中国天文年历》127页数据,可以看到9月20日0时(UTC时间),moira软件设置为9月20日8时
天文年历的数据:
视赤经16h38m9.828s,按每1h15度,转成10进制为:249.540950度
moira计算的数据:
赤经:249.540957度,差值0.000007度
土星结论,误差很小,满足要求
总结论:对比日月黄经、五星赤经,误差都在0.01度以下。赤经的误差比黄经的误差要小一个数量级,可能是黄赤夹角精确度和黄赤坐标转换的三角函数计算中丢失了精度,尽管如此,其中的计算误差,放到360度的星盘上,肉眼很难区分,可以认为moira的日月五星数据是基本正确的。