制作DE200.EPH

Bernese程序运行需要DE200.EPH这个行星星历。这个星历Bernese安装程序中是不提供的,不过Bernese提供了一些工具来制作和效检。本文主要说明如在Linux和Windows下制作这个文件。

一、工具准备

制作DE200.EPH需要下载JPL ASCII码格式的星历文件和BERNESE环境。

1.1 文件下载准备

下载地址为:ftp://ssd.jpl.nasa.gov/pub/eph/export。下载的文件有:

test-data/testpo.200
ascii/header.200
ascii/ascp1980.200
ascii/ascp2000.200

其中header.200是头文件,而ascp1980.200ascp2000.200则分别为1980~2000和2000~2020年的太阳系星历表,所以在处理2020年之后的数据,就要加上新星历表内容了。

考虑到JPL的ftp网站国内基本打不开,所以将本次所需要准备的文件放到了github上,即,下载地址为https://github.com/yinflying/BlogSource/blob/master/DE200EPH.tar.gz

1.2 Bernese安装环境

保证Bernese的环境变量要配置正确。本次制作所涉及的环境变量主要是XG,对于linux用户,只需要执行(下面要替换成自己Bern的安装路径):

# 有source的shell
$ source BERN50/GPS/LOADGPS.setvar
# 没有source的shell
$ ./BERN50/GPS/LOADGPS.setvar

而Windows用户则只需要安装Bernese后重启即可。

可以通过下面的方法来检查环境变量是否安装成功(>为windows命令行起始标识符,不输入,和$含义相同):

# Linux用户,如果显示BERN50/PGM/EXE则成功
$ echo ${XG}
# Windows用户,在cmd中输入下面内容,看目录是否切换到BERN50/PGM/EXE下
> %XG%

环境变量的本质就是目录/路径

二、开始制作

2.1 Linux下制作

将四个文件放到test目录下,然后切换到test下,执行命令:

#将三个文件按照顺序合并成一个文件
$ cat header.200 > temp.200
$ cat ascp1980.200 >> temp.200
$ cat ascp2000.200 >> temp.200
#将所需要转换的文件和输出的文件名放到ASC2EPH.INP
$ echo temp.200 > ASC2EPH.INP
$ echo DE200.EPH >> ASC2EPH.INP
#自动读取ASC2EPH.INP内容,然后转换相应的文件
$ ${XG}/ASC2EPH

2.2 Windows下制作

将四个文件放到test目录下,然后切换到test下,执行命令:

#将三个文件按照顺序合并成一个文件
> copy header.200+ascp1980.200+ascp2000.200 temp.200
#将temp.200的内容作为标准输入,然后输出为JPLEPH文件
> %XG%\ASC2EPH.exe < temp.200

最后只需将JPLEPH这个文件重命名为DE200.EPH即可

三、检查文件可读性

由于生成出来的文件是二进制文件,所以需要检查一下生成的二进制文件的可读性。之前下载的testpo.200文件就是为这个而准备的。

首先需要制作为一个可为Bernese程序识别的TESTEPH.INP文件,包含被测试的对像,内容是这样的:

DE200.EPH
testpo.200

Linux下可直接运行下面命令进行测试:

$ echo DE200.EPH > TESTEPH.INP
$ echo testpo.200 >> TESTEPH.INP
$ ${XG}/TESTEPH

而Windows下则使用下面命令:

> %XG%\TESTEPH.exe

如果打印出了内容,那么说明制作成功了。

此条目发表在GNSS, LINUX分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。