论文部分内容阅读
摘要:基础天文标准库(SOFA)是国际地球自转服务(IERS)协议提供的关于地球姿态、时间尺度和历法的一系列程序集;时间尺度一般分为三种基本类型:世界时系统、力学时系统和原子时系统,它们分别选用天体的自转、开普勒运动和谐波振荡运动作为建立时间系统的基准。本文主要介绍了时间系统的基本概念以及基于SOFA的时间系统间转换方法的实现。
关键词:时间系统;基础天文标准库;转换方法
中图分类号:文献标志码:A
文章编号:1672-1098(2014)02-0000-00
时间系统规定了时间测量的标准,包括时刻的参考基准和时间间隔的尺度基准。时间系统框架通过守时、授时和时间频率测量比对技术在某一区域或全球范围内来实现和维持统一的时间系统。SOFA(基础天文标准库),是IAU赞助的项目,旨在为天文计算提供权威有效的算法程序和常数数值[2]。1997年,SOFA评委委员会正式创立,并设置了发布代码的SOFA中心[2]。本文中时间系统转换采用的基础代码来源于该中心。
1时间系统
时间系统是由计量时刻的起点(初始历元)和单位时间间隔的长度(时间尺度)来定义的。时间尺度通常是连续而均匀的恒定周期运动,并且这种运动是可以观测和复制的。时间尺度一般分为三种基本类型:世界时系统、原子时系统和力学时系统,它们分别选用天体的自转、开普勒运动和谐波振荡运动作为建立时间系统的基准[1]。
11世界时(Universal Time,UT)
世界时UT是以平太阳为基本参考点,由平太阳的周日视运动确定时间,以格林尼治平子夜零时算起。平太阳时是以太阳视运动的平均速度沿赤道作均匀运动的假想点,平太阳时则由平太阳时角来测定。世界时以地球自转为基础,但由于地球自转的不均匀性和极移引起的地球子午线变动,世界时的变化不均匀。根据对世界时采用的不同修正,又定义了三种世界时:UT0、UT1和UT2。UT0是由全球分布的多个观测站观测恒星的视运动确定的时间系统。UT1是UT0加上极移改正得到的。UT2是UT1加上地球自转的季节变化改正得到的。它们之间存在下列关系:
UT1=UT0+Δλ (1)
UT2=UT1+ΔTs (2)
其中,极移改正Δλ的计算公式为:
Δλ=115(Xpsinλ-Ypcosλ)tanφ (3)
式中:λ、分别为天文经度和天文纬度。
地球自转的季节性改正ΔTs为:
ΔTs=0022sin2πt-0012cos2πt-
0006sin4πt+0007cos4πt (4)
式中:t以贝塞尔年为单位为
t=(MJD(t)-5154403)3652422 (5)
MJD(t)为儒略日。
由于平太阳时观测不到的假想点,世界时实际上是通过观测恒星的周日运动,以恒星时换算得到的。世界时UT1和格林尼治平恒星时GMST有如下关系:
GMST=UT1+αm-12h (6)
式中:αm为平太阳赤经,计算公式为:
αm=18h41m5054841s+8640184812866sTu+0093104sT2u-62s×10-6Tu3 (7)
式中:Tu是从2000年1月1日格林尼治正午起算的儒略世纪数。
显然,在UT2中含有地球自转速度的长期的变化项和不规则的变化项,所以它仍不是严密的均匀的时间系统。由于世界时与太阳时保持密切的联系,因而在天文学和人们的日常生活中被广泛采用。但是这种时间系统在很多高科技、高精度的应用领域无法使用。
12原子时(Atomic Time,AT)
1) 国际原子时(Temps Atomigue International,TAI)
国际原子时TAI是一种标准频率,1967年10月,第十三届国际度量会议通过了新的国际单位秒(SI秒)长的决议:位于海平面上的铯原子Cs133基态的两个超精细能级在零磁场中跃迁辐射振荡9192631770周所经历的时间为一原子秒。TAI是前国际时间局(BIH)于1972年1月1日引入的,取1958年1月1日UT1零时为起算点,即在这一瞬间国际原子时和世界时的时刻相同,单位间隔恰好为海平面处——SI秒。
2) 协调世界时(Universal Time Coordinated,UTC)
协调世界时UTC兼顾了对世界时时刻和原子时秒长两者的需要,其秒长与原子时秒长一致,在时刻上则要求尽量与世界时接近。UTC是一种均匀但不连续的时间尺度,它具有原子时稳定的优点,时刻又靠近UT1(|UT1-UTC|<09 s)。如果UTC和UT1之差超过09 s,则UTC改变一整秒,称为闰秒,闰秒安排在12月31日或6月30日最后一秒。UTC和TAI相差整数秒:
UTC=TAI-ns (8)
式中:ns即为保证UTC与TAI在时刻上统一而引入的闰秒,其数值可从IERS公报中获取。通常情况下ns
可以在给定的日期上变动,具体是在1月1日或7月1日。通过引入闰秒,UTC的历元也合适于UT1,两者之差为:
DUTC=UT1-UTC (9)
通过TERS公报来分配,在与地球固定参考系有关的计算中都必须顾及它。每天的DUT1精确值可从IERS公报中的EOPC04数据文件中获取,并通过内插计算来获得任意时刻的DUT1值。
3) GPS时
GPS时是全球定位系统GPS使用的一种时间系统,它是由GPS的地面站和GPS卫星中的原子钟建立和维持的一种原子时。可见GPS时是GPS系统中由主控站以一组原子钟为标准建立的独立时间系统。GPS时间的起点规定为1980年1月6日UTC零时,它由主控站的原子钟保持,使其尽可能与UTC一致,不做闰秒改正。因此,GPST与TAI在任何时刻有19秒的常量偏差: TAI=GPST+190s (10)
13相对论框架下的时间系统
1) 地球动力学时(Temps Dynamigue Terrestre,TDT)
地球动力学时TDT是天体地心视位置历表的时间引数或者说是天体相对于地心的运动方程中的独立变量,它是用于解算围绕地球质心旋转的天体(如人造卫星)的运动方程,编算其星历时所用的一种时间系统。地球动力学时是建立在国际原子时TAI的基础上,其秒长与国际原子时的秒长相等。IAU决议规定:1977年1月1日00h00m32s·184,即:
TDT=TAI+32s·184 (11)
它确定了TDT的起始历元,TDT与TAI时刻差值32s·184正好为该时刻ET与TAI的差值,这样定义起始历元可使TDT与过去使用的ET相衔接,于是只要把过去历表中的ET改为TDT就可以继续使用。TDT是连续且均匀的时间系统,是卫星运动方程的时间引数。
2) 地球时(Terrestrial Time,TT)
1991年,第21届IAU大会又决定将TDT改称为地球时TT,似乎是为了避免动力学(Dynamical)这个容易引起争议的名词。目前,卫星位置、编制卫星星历时所用的时间都采用地球时TT。TT可以被看成是一种在大地水准面上实现的与SI秒相一致的理想化的原子时。
3) 太阳系质心动力学时(Temps Dynamigue Barycentrigue,TDB)
太阳系质心动力学时有时也被简称为质心动力学时。这是一种用以解算坐标原点位于太阳系质心的运动方程(如行星运动方程)并编制其星表时所用的时间系统。
4) 地心坐标时(Temps Coordinate Geocentrigue,TCG)
地心坐标时是原点位于地心的天球坐标系中所使用的第四维坐标——时间坐标。它是把TDT从大地水准面上通过相对论转换到地心时的类时变量。
5) 质心坐标时(Temps Coordinate Barycentrigue,TCB)
质心坐标时TCB是太阳系质心天球坐标系中的第四维坐标。它是用于计算行星绕日运动方程中的时间变量,也是编制行星星表时的独立变量。
2时间系统转换关系
21相对论框架下的时间系统转换关系
通常,我们把直接由标准钟所确定的时间称为原时,原时是可以用精确的计时工具直接来量测的,如平太阳时、历书时、原子时等。把在相对论框架下所导得的时间称为类时或坐标时,如TDB、TCG、TCB等,坐标时不能直接由测量来实现,而需根据由时空度规则所给出的数学关系式通过计算来间接求得。在相对论框架下,各种时间系统间的关系归纳总结如下:
TT=TAI+32184s
TDB-TT=ρ+Ve(X-X0)c2
TCB-TT=LB(t-t0)+ρ+Ve(X-X0)c2
TCG-TT=LG(t-t0)
TCB-TDB=LB(t-t0)
TDB-TT=LC(t-t0)+ρ+Ve(X-X0)c2(12)
22各种时间系统间的转换
图1时间系统及其转换关系
3基于SOFA软件的时间系统转换
31SOFA软件简介
基础天文标准库(SOFA)是国际地球自转服务(IERS)协议提供的关于地球姿态、时间尺度和历法的一系列程序集[2];SOFA是IAU赞助的项目,旨在为天文计算提供权威有效的算法程序和常数数值。1994年的IAU大会上,IAU天文标准工作组 提出了创立SOFA的提案。1997年,SOFA评审委员会正式创立,并设置了发布代码的SOFA中心,有利于推动天文学和空间大地测量学的研究,使人们把主要精力集中到创新性的研究中去而不会浪费在重复编程中。
SOFA的特点是独立性和跨平台性,也就是使用不需额外程序的支持,也尽量保证与操作系统无关。另外SODA前后版本的子程序名称也保持一致,并与 国际地球自转服务的约定相容。其评审委员会由IAU第一专业委员会即基础天文学委员会指派,利用IAU最新批准的基础天文模型和理论编制程序,并对程序进 行检验。第一版代码于2001年10月底公布,之后基本是每两年公布一个新版本。该程序库大多采用成熟算法编写,并尽量挖掘计算机的运算精度。不过为顾及使用的方便性,开发者在某些子程序上还是作了妥协。
目前最新版SOFA(截止2012年3月)包括了IAU在2006年公布的岁差模型,主要由两部分组成:天文库和矢量\矩阵运算库。其中前者有131个子程序,可以进行天文历法计算、时间计算、历表计算、岁差章动计算、恒星空间运动计算和主要星表系统的转换等,后者有52个子系统,主要功能是矢量和矩阵的各类操作,当然其中包括了球面坐标系统的变换。
SOFA提供两个子程序,实现以时分秒表示的和以日表示的时间间隔之间的转换,分别为D2TF和TF2D,其中,D2TF实现将以日表示的时间间隔转化为以时分秒表示的时间间隔,TF2D则实现相反功能。SOFA中规定了一种方便并且高精度的时间表达方式,即将时间表示为两个部分的儒略日。
其中两个专用的子程序,DTF2D和D2DTF,可以用来处理在全部标准时间(年月日时分秒)和两个部分儒略日(或者UTC,类儒略日)之间的分割合并。对于某些天文学应用,使用小数化的年更为方便。最初,这是由白塞尔历完成,1984年开始则由儒略历代替。
约化儒略日与白塞尔历和儒略历之间的转换,在SOFA中是由子程序EPB,EPB2JD,EPJ和EPJ2JD实现的。
SOFA支持以下7种时间尺度,分别为:TAI,UTC,UT1,TT,TCG,TCB,TDB。 它们之间的转换关系如图2所示。
图2SOFA支持的7种时间系统间的转换
将一种时间尺度下的时间转换至另一种时间尺度,一般需要三步:
1) 调用子程序DTF2D将时间转换为SOFA内部格式的时间;
2) 调用适当的转换子程序;
3) 调用子程序D2DTF为输出转换后的时间做准备。
32SOFA实例
以观测者位于北纬19°28′52″.5、西经155°55′59″.6的海平面上,时间为UTC时间2006年1月15日21时24分375秒为例,利用SOFA计算其在该软件支持的所有其他时间尺度下的时间。
程序实现步骤如下:
1) 将大地坐标转换为地心坐标;
调用的SOFA子程序及其功能为:iau-AF2A(将经纬度表示为弧度),iau-GD2GC(将大地坐标转化为地心三维坐标)
2) 将UTC时间转换为内部时间格式;
调用的子程序及其功能为:iau-DTF2D(将UTC的年月日时分秒转化为两个部分的儒略日)
(3) 由IERS查取UT1 — UTC的值得到DUT;
程序代码为:DUT=+03341D0
4) UTC转换至UT1;
调用的子程序及其功能为:iau-UTCUT1(将UTC转化为UT1)
程序代码为:
CALL iau-UTCUT1 (UTC1, UTC2, DUT, UT11, UT12, J)
IF (J.NE.0) STOP
5) 取出UT1中的小数部分以供后续计算TDB — TT使用;
6) UTC->TAI->TT->TCG;
调用的子程序及其功能为:iau-UTCTAI(将UTC转化为TAI),iau-TAITT(将TAI转化为TT),iau-TTTCG(将TT转化为TCG)
程序代码为:
CALL iau-UTCTAI (UTC1, UTC2, TAI1, TAI2, J)
IF (J.NE.0) STOP
CALL iau-TAITT (TAI1, TAI2, TT1, TT2, J)
IF (J.NE.0) STOP
CALL iau-TTTCG (TT1, TT2, TCG1, TCG2, J)
IF (J.NE.0) STOP
7) TDB — TT(使用TT代替TDB);
程序代码为:
DTR=iau-DTDB (TT1, TT2, UT, ELON, U, V)
8) TT->TDB->TCB;
调用的子程序及其功能为:iau-TTTDB(将TT转化为TDB),iau-TDBTCB(将TDB转化为TCB)
程序代码为:
CALL iau-TTTDB (TT1, TT2, DTR, TDB1, TDB2, J)
IF (J.NE.0) STOP
CALL iau-TDBTCB (TDB1, TDB2, TCB1, TCB2, J)
IF (J.NE.0) STOP
9) 以标准格式输出各种时间;
调用的子程序及其功能为:iau-D2DTF(将内部时间转化为年月日时分秒加小数 部分)
程序输出结果如下:
UTC 2006/01/15 21:24:37500000
UT1 2006/01/15 21:24:37834100
TAI 2006/01/15 21:25:10500000
TT 2006/01/15 21:25:42684000
TCG 2006/01/15 21:25:43322690
TDB 2006/01/15 21:25:42683799
TCB 2006/01/15 21:25:56893378
4结语
从各种时间系统的定义可知,协调世界时UTC很好的兼顾了世界时UT可以反映地球自转和国际原子时TAI变化的均匀性特性。因此,可以基于UTC作为各个时间系统相互联系的纽带,来进行相关时间系统之间的转换。本文结合实例,应用SOFA软件实践了时间系统间的相互转化。SOFA中的时间子程序为天文应用提供了极大的方便,使得复杂的天文计算变得相对简单和可靠。由于时间系统的基础性和重要性,建议有关专门委员会为用户实际应用提供规范的模型和程序,包括测量数据处理模型,建立各种时间尺度的程序、参考系间相互转换程序等。总之,时间问题是当今世界上最难理解和解决的问题之一,对这个问题的研究、理解、认识和回答不仅反映一个国家和民族的文化素质,而且还标志一个国家和民族科学文化水平的高低。
参考文献:
[1]李征航,魏二虎,王正涛等.空间大地测量学[M].武汉:武汉大学出版社,2010.
[2]魏二虎,畅柳,杨洪洲.基于SOFA的ITRS与ICRS相互转换方法研究[J].测绘信息与工程,2008,37(4)31-33.
[3]孔祥元,郭际明,刘宗泉.大地测量学[M].武汉:武汉大学出版社,2008.
[4]魏二虎,刘经南,严韦.第一期空间VLBI对月球大地测量参数的可估性[J].测绘信息与工程,2008,33(1)1-3.
[5]钟波.基于GOCE卫星重力测量技术确定地球重力场的研究[D].武汉:武汉大学,2010.
[6]曹芬.GOCE卫星实时精密定轨方法及其试验研究[D].上海:中国科学院国家授时中心,2011.
[7]IAU.SOFA Time Scale and Calendar Tools.2010-12-24.
[8]漆贯荣.关于时间尺度[J].陕西天文台台刊,1998.
(责任编辑:)
关键词:时间系统;基础天文标准库;转换方法
中图分类号:文献标志码:A
文章编号:1672-1098(2014)02-0000-00
时间系统规定了时间测量的标准,包括时刻的参考基准和时间间隔的尺度基准。时间系统框架通过守时、授时和时间频率测量比对技术在某一区域或全球范围内来实现和维持统一的时间系统。SOFA(基础天文标准库),是IAU赞助的项目,旨在为天文计算提供权威有效的算法程序和常数数值[2]。1997年,SOFA评委委员会正式创立,并设置了发布代码的SOFA中心[2]。本文中时间系统转换采用的基础代码来源于该中心。
1时间系统
时间系统是由计量时刻的起点(初始历元)和单位时间间隔的长度(时间尺度)来定义的。时间尺度通常是连续而均匀的恒定周期运动,并且这种运动是可以观测和复制的。时间尺度一般分为三种基本类型:世界时系统、原子时系统和力学时系统,它们分别选用天体的自转、开普勒运动和谐波振荡运动作为建立时间系统的基准[1]。
11世界时(Universal Time,UT)
世界时UT是以平太阳为基本参考点,由平太阳的周日视运动确定时间,以格林尼治平子夜零时算起。平太阳时是以太阳视运动的平均速度沿赤道作均匀运动的假想点,平太阳时则由平太阳时角来测定。世界时以地球自转为基础,但由于地球自转的不均匀性和极移引起的地球子午线变动,世界时的变化不均匀。根据对世界时采用的不同修正,又定义了三种世界时:UT0、UT1和UT2。UT0是由全球分布的多个观测站观测恒星的视运动确定的时间系统。UT1是UT0加上极移改正得到的。UT2是UT1加上地球自转的季节变化改正得到的。它们之间存在下列关系:
UT1=UT0+Δλ (1)
UT2=UT1+ΔTs (2)
其中,极移改正Δλ的计算公式为:
Δλ=115(Xpsinλ-Ypcosλ)tanφ (3)
式中:λ、分别为天文经度和天文纬度。
地球自转的季节性改正ΔTs为:
ΔTs=0022sin2πt-0012cos2πt-
0006sin4πt+0007cos4πt (4)
式中:t以贝塞尔年为单位为
t=(MJD(t)-5154403)3652422 (5)
MJD(t)为儒略日。
由于平太阳时观测不到的假想点,世界时实际上是通过观测恒星的周日运动,以恒星时换算得到的。世界时UT1和格林尼治平恒星时GMST有如下关系:
GMST=UT1+αm-12h (6)
式中:αm为平太阳赤经,计算公式为:
αm=18h41m5054841s+8640184812866sTu+0093104sT2u-62s×10-6Tu3 (7)
式中:Tu是从2000年1月1日格林尼治正午起算的儒略世纪数。
显然,在UT2中含有地球自转速度的长期的变化项和不规则的变化项,所以它仍不是严密的均匀的时间系统。由于世界时与太阳时保持密切的联系,因而在天文学和人们的日常生活中被广泛采用。但是这种时间系统在很多高科技、高精度的应用领域无法使用。
12原子时(Atomic Time,AT)
1) 国际原子时(Temps Atomigue International,TAI)
国际原子时TAI是一种标准频率,1967年10月,第十三届国际度量会议通过了新的国际单位秒(SI秒)长的决议:位于海平面上的铯原子Cs133基态的两个超精细能级在零磁场中跃迁辐射振荡9192631770周所经历的时间为一原子秒。TAI是前国际时间局(BIH)于1972年1月1日引入的,取1958年1月1日UT1零时为起算点,即在这一瞬间国际原子时和世界时的时刻相同,单位间隔恰好为海平面处——SI秒。
2) 协调世界时(Universal Time Coordinated,UTC)
协调世界时UTC兼顾了对世界时时刻和原子时秒长两者的需要,其秒长与原子时秒长一致,在时刻上则要求尽量与世界时接近。UTC是一种均匀但不连续的时间尺度,它具有原子时稳定的优点,时刻又靠近UT1(|UT1-UTC|<09 s)。如果UTC和UT1之差超过09 s,则UTC改变一整秒,称为闰秒,闰秒安排在12月31日或6月30日最后一秒。UTC和TAI相差整数秒:
UTC=TAI-ns (8)
式中:ns即为保证UTC与TAI在时刻上统一而引入的闰秒,其数值可从IERS公报中获取。通常情况下ns
可以在给定的日期上变动,具体是在1月1日或7月1日。通过引入闰秒,UTC的历元也合适于UT1,两者之差为:
DUTC=UT1-UTC (9)
通过TERS公报来分配,在与地球固定参考系有关的计算中都必须顾及它。每天的DUT1精确值可从IERS公报中的EOPC04数据文件中获取,并通过内插计算来获得任意时刻的DUT1值。
3) GPS时
GPS时是全球定位系统GPS使用的一种时间系统,它是由GPS的地面站和GPS卫星中的原子钟建立和维持的一种原子时。可见GPS时是GPS系统中由主控站以一组原子钟为标准建立的独立时间系统。GPS时间的起点规定为1980年1月6日UTC零时,它由主控站的原子钟保持,使其尽可能与UTC一致,不做闰秒改正。因此,GPST与TAI在任何时刻有19秒的常量偏差: TAI=GPST+190s (10)
13相对论框架下的时间系统
1) 地球动力学时(Temps Dynamigue Terrestre,TDT)
地球动力学时TDT是天体地心视位置历表的时间引数或者说是天体相对于地心的运动方程中的独立变量,它是用于解算围绕地球质心旋转的天体(如人造卫星)的运动方程,编算其星历时所用的一种时间系统。地球动力学时是建立在国际原子时TAI的基础上,其秒长与国际原子时的秒长相等。IAU决议规定:1977年1月1日00h00m32s·184,即:
TDT=TAI+32s·184 (11)
它确定了TDT的起始历元,TDT与TAI时刻差值32s·184正好为该时刻ET与TAI的差值,这样定义起始历元可使TDT与过去使用的ET相衔接,于是只要把过去历表中的ET改为TDT就可以继续使用。TDT是连续且均匀的时间系统,是卫星运动方程的时间引数。
2) 地球时(Terrestrial Time,TT)
1991年,第21届IAU大会又决定将TDT改称为地球时TT,似乎是为了避免动力学(Dynamical)这个容易引起争议的名词。目前,卫星位置、编制卫星星历时所用的时间都采用地球时TT。TT可以被看成是一种在大地水准面上实现的与SI秒相一致的理想化的原子时。
3) 太阳系质心动力学时(Temps Dynamigue Barycentrigue,TDB)
太阳系质心动力学时有时也被简称为质心动力学时。这是一种用以解算坐标原点位于太阳系质心的运动方程(如行星运动方程)并编制其星表时所用的时间系统。
4) 地心坐标时(Temps Coordinate Geocentrigue,TCG)
地心坐标时是原点位于地心的天球坐标系中所使用的第四维坐标——时间坐标。它是把TDT从大地水准面上通过相对论转换到地心时的类时变量。
5) 质心坐标时(Temps Coordinate Barycentrigue,TCB)
质心坐标时TCB是太阳系质心天球坐标系中的第四维坐标。它是用于计算行星绕日运动方程中的时间变量,也是编制行星星表时的独立变量。
2时间系统转换关系
21相对论框架下的时间系统转换关系
通常,我们把直接由标准钟所确定的时间称为原时,原时是可以用精确的计时工具直接来量测的,如平太阳时、历书时、原子时等。把在相对论框架下所导得的时间称为类时或坐标时,如TDB、TCG、TCB等,坐标时不能直接由测量来实现,而需根据由时空度规则所给出的数学关系式通过计算来间接求得。在相对论框架下,各种时间系统间的关系归纳总结如下:
TT=TAI+32184s
TDB-TT=ρ+Ve(X-X0)c2
TCB-TT=LB(t-t0)+ρ+Ve(X-X0)c2
TCG-TT=LG(t-t0)
TCB-TDB=LB(t-t0)
TDB-TT=LC(t-t0)+ρ+Ve(X-X0)c2(12)
22各种时间系统间的转换
图1时间系统及其转换关系
3基于SOFA软件的时间系统转换
31SOFA软件简介
基础天文标准库(SOFA)是国际地球自转服务(IERS)协议提供的关于地球姿态、时间尺度和历法的一系列程序集[2];SOFA是IAU赞助的项目,旨在为天文计算提供权威有效的算法程序和常数数值。1994年的IAU大会上,IAU天文标准工作组 提出了创立SOFA的提案。1997年,SOFA评审委员会正式创立,并设置了发布代码的SOFA中心,有利于推动天文学和空间大地测量学的研究,使人们把主要精力集中到创新性的研究中去而不会浪费在重复编程中。
SOFA的特点是独立性和跨平台性,也就是使用不需额外程序的支持,也尽量保证与操作系统无关。另外SODA前后版本的子程序名称也保持一致,并与 国际地球自转服务的约定相容。其评审委员会由IAU第一专业委员会即基础天文学委员会指派,利用IAU最新批准的基础天文模型和理论编制程序,并对程序进 行检验。第一版代码于2001年10月底公布,之后基本是每两年公布一个新版本。该程序库大多采用成熟算法编写,并尽量挖掘计算机的运算精度。不过为顾及使用的方便性,开发者在某些子程序上还是作了妥协。
目前最新版SOFA(截止2012年3月)包括了IAU在2006年公布的岁差模型,主要由两部分组成:天文库和矢量\矩阵运算库。其中前者有131个子程序,可以进行天文历法计算、时间计算、历表计算、岁差章动计算、恒星空间运动计算和主要星表系统的转换等,后者有52个子系统,主要功能是矢量和矩阵的各类操作,当然其中包括了球面坐标系统的变换。
SOFA提供两个子程序,实现以时分秒表示的和以日表示的时间间隔之间的转换,分别为D2TF和TF2D,其中,D2TF实现将以日表示的时间间隔转化为以时分秒表示的时间间隔,TF2D则实现相反功能。SOFA中规定了一种方便并且高精度的时间表达方式,即将时间表示为两个部分的儒略日。
其中两个专用的子程序,DTF2D和D2DTF,可以用来处理在全部标准时间(年月日时分秒)和两个部分儒略日(或者UTC,类儒略日)之间的分割合并。对于某些天文学应用,使用小数化的年更为方便。最初,这是由白塞尔历完成,1984年开始则由儒略历代替。
约化儒略日与白塞尔历和儒略历之间的转换,在SOFA中是由子程序EPB,EPB2JD,EPJ和EPJ2JD实现的。
SOFA支持以下7种时间尺度,分别为:TAI,UTC,UT1,TT,TCG,TCB,TDB。 它们之间的转换关系如图2所示。
图2SOFA支持的7种时间系统间的转换
将一种时间尺度下的时间转换至另一种时间尺度,一般需要三步:
1) 调用子程序DTF2D将时间转换为SOFA内部格式的时间;
2) 调用适当的转换子程序;
3) 调用子程序D2DTF为输出转换后的时间做准备。
32SOFA实例
以观测者位于北纬19°28′52″.5、西经155°55′59″.6的海平面上,时间为UTC时间2006年1月15日21时24分375秒为例,利用SOFA计算其在该软件支持的所有其他时间尺度下的时间。
程序实现步骤如下:
1) 将大地坐标转换为地心坐标;
调用的SOFA子程序及其功能为:iau-AF2A(将经纬度表示为弧度),iau-GD2GC(将大地坐标转化为地心三维坐标)
2) 将UTC时间转换为内部时间格式;
调用的子程序及其功能为:iau-DTF2D(将UTC的年月日时分秒转化为两个部分的儒略日)
(3) 由IERS查取UT1 — UTC的值得到DUT;
程序代码为:DUT=+03341D0
4) UTC转换至UT1;
调用的子程序及其功能为:iau-UTCUT1(将UTC转化为UT1)
程序代码为:
CALL iau-UTCUT1 (UTC1, UTC2, DUT, UT11, UT12, J)
IF (J.NE.0) STOP
5) 取出UT1中的小数部分以供后续计算TDB — TT使用;
6) UTC->TAI->TT->TCG;
调用的子程序及其功能为:iau-UTCTAI(将UTC转化为TAI),iau-TAITT(将TAI转化为TT),iau-TTTCG(将TT转化为TCG)
程序代码为:
CALL iau-UTCTAI (UTC1, UTC2, TAI1, TAI2, J)
IF (J.NE.0) STOP
CALL iau-TAITT (TAI1, TAI2, TT1, TT2, J)
IF (J.NE.0) STOP
CALL iau-TTTCG (TT1, TT2, TCG1, TCG2, J)
IF (J.NE.0) STOP
7) TDB — TT(使用TT代替TDB);
程序代码为:
DTR=iau-DTDB (TT1, TT2, UT, ELON, U, V)
8) TT->TDB->TCB;
调用的子程序及其功能为:iau-TTTDB(将TT转化为TDB),iau-TDBTCB(将TDB转化为TCB)
程序代码为:
CALL iau-TTTDB (TT1, TT2, DTR, TDB1, TDB2, J)
IF (J.NE.0) STOP
CALL iau-TDBTCB (TDB1, TDB2, TCB1, TCB2, J)
IF (J.NE.0) STOP
9) 以标准格式输出各种时间;
调用的子程序及其功能为:iau-D2DTF(将内部时间转化为年月日时分秒加小数 部分)
程序输出结果如下:
UTC 2006/01/15 21:24:37500000
UT1 2006/01/15 21:24:37834100
TAI 2006/01/15 21:25:10500000
TT 2006/01/15 21:25:42684000
TCG 2006/01/15 21:25:43322690
TDB 2006/01/15 21:25:42683799
TCB 2006/01/15 21:25:56893378
4结语
从各种时间系统的定义可知,协调世界时UTC很好的兼顾了世界时UT可以反映地球自转和国际原子时TAI变化的均匀性特性。因此,可以基于UTC作为各个时间系统相互联系的纽带,来进行相关时间系统之间的转换。本文结合实例,应用SOFA软件实践了时间系统间的相互转化。SOFA中的时间子程序为天文应用提供了极大的方便,使得复杂的天文计算变得相对简单和可靠。由于时间系统的基础性和重要性,建议有关专门委员会为用户实际应用提供规范的模型和程序,包括测量数据处理模型,建立各种时间尺度的程序、参考系间相互转换程序等。总之,时间问题是当今世界上最难理解和解决的问题之一,对这个问题的研究、理解、认识和回答不仅反映一个国家和民族的文化素质,而且还标志一个国家和民族科学文化水平的高低。
参考文献:
[1]李征航,魏二虎,王正涛等.空间大地测量学[M].武汉:武汉大学出版社,2010.
[2]魏二虎,畅柳,杨洪洲.基于SOFA的ITRS与ICRS相互转换方法研究[J].测绘信息与工程,2008,37(4)31-33.
[3]孔祥元,郭际明,刘宗泉.大地测量学[M].武汉:武汉大学出版社,2008.
[4]魏二虎,刘经南,严韦.第一期空间VLBI对月球大地测量参数的可估性[J].测绘信息与工程,2008,33(1)1-3.
[5]钟波.基于GOCE卫星重力测量技术确定地球重力场的研究[D].武汉:武汉大学,2010.
[6]曹芬.GOCE卫星实时精密定轨方法及其试验研究[D].上海:中国科学院国家授时中心,2011.
[7]IAU.SOFA Time Scale and Calendar Tools.2010-12-24.
[8]漆贯荣.关于时间尺度[J].陕西天文台台刊,1998.
(责任编辑:)