IAU SOFA 软件包介绍

国际天文联合会(International Astronomical Union),简称IAU,其担负着讨论并制定国际上通用的天文标准的任务。常用的天文常数,有关地球自转轴运动的岁差,章动和极移等都是其制定的,并且被作为天文界中的标准。

SOFA(Standards Of Fundamental Astronomy)软件包就是IAU编写的有关天文基础标准的子程序库。目前一共有161个子程序,主要用Fortran F77和ANSI C两种语言编写,每个子程序放在一个.f的文件中。其主要内容包括两个方面:基础向量操作和天文基础标准。

由于Fortran 77不支持矩阵和向量的基本操作,如矩阵相乘等。因此SOFA中有一些关于这方面的子程序。在此基础上,编写出天文基础标准的子程序,包含:UTC时间的儒略日计算;基于1976 precession 和1980 nutation标准的地固坐标系(ITRF)到J2000地心天球坐标系(GCRF)的转换矩阵(也包含最新的IAU 2000和2006标准);以及太阳系行星历表的计算等等。

所有的这些子程序都是依据IAU的相关标准而编制的,程序中有详细的注释,说明文档中也有相关说明,要读懂是非常容易的。

SOFA说明和下载地址: http://www.iau-sofa.rl.ac.uk/index.html
其中“manual.pdf”包含SOFA软件包里所有子程序的功能说明和接口说明;
“sofa_pn.pdf”包含IAU 2000和IAU 2006岁差章动模型的说明,以及ITRS到GCRS的详细转换过程。

关于子程序的使用,对于Unix系统用户,可使用其中的makefile文件。对于Windows用户,在界面环境下(如CVF6.5,IVF9.1等),将161个文件都加入到项目工程中是比较繁琐的。我个人建议先用静态链接库将这161个文件生成(build)一个 .lib的静态链接库文件,然后将这个 .lib文件添加到工程中即可使用。

猜你喜欢

转载自blog.csdn.net/u011575168/article/details/53439125
今日推荐