SUSE系统平台的GAMIT/GLOBK 10.31安装详解*
2010-07-18成英燕
高 乐,成英燕
(1.中国测绘科学研究院,北京100830;2.山东科技大学测绘学院,山东青岛 266510)
0 引 言
随着GPS日臻完善,GPS导航定位技术在航空、测绘、授时及遥感等领域中已得到了广泛的应用,精密解算GPS观测数据的软件也随之得到了重视与发展。国内外开发了很多GPS数据处理软件,所要介绍的GAMIT/GLOBK软件正是其中之一,还有瑞士伯尔尼大学天文研究所研制的BERNESE软件,美国宇航局(NASA)喷气推进实验室(JPL)研制的GIPSY/OASIS软件等。GAMIT/GLOBK最主要的特点是其解算精度高,且免费开放源代码,用户可以根据需要对源程序做相应的修改,以便于科研工作。
1 SUSE 11.1系统平台的设置简介及安装
Linux是一套免费使用和自由传播的类Unix操作系统,Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播;另一个原因是,它具有Unix的全部功能,任何使用 Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。下面以SUSE Linux说明其安装过程中的关键问题[1]。
1.1 系统分区
1.1.1 分区类型
该软件每个硬盘都有一个分区表,其中有 4个项。分区表中的一项可以对应于一个主分区或一个扩展分区。但只允许有一个扩展分区项。主分区和扩展分区都是由一系列连续的柱面(物理磁盘区域)组成。限制每个硬盘最多具有 4个分区,因为超过4个分区就不能与分区表相符,这也是使用扩展分区的原因。扩展分区本身可以再分为多个逻辑分区,它是逻辑分区的容器。
1.1.2 使用YaST进行分区
如果选择按原样接受建议,则分区设置不会有任何改变。如果选择基于此建议调整分区设置,则将打开专家分区工具。利用它可以精确调整分区设置。现在将 YaST建议的原始设置作为进行调整的基础。
首次在建议窗口中选择分区项目时,YaST分区对话框将显示当前建议的分区设置。在继续操作之前,按原样接受这些当前设置或对它们进行更改。也可以丢弃所有这些设置,而从头开始设置。
YaST专家分区程序对话框中列出了所有已连接硬盘上的所有现有分区或建议分区。其中将整个硬盘作为不带编号的设备列出,如/dev/hda或/dev/sda。将分区作为这些设备的一部分列出,如/dev/hda1或/dev/sda1。此外还显示硬盘的大小、类型、文件系统和装入点以及硬盘的分区。装入点描述Linux文件系统树中装入分区的位置。
图1 编辑分区设置
如果在安装期间运行专家对话框,还会列出并自动选中所有可用硬盘空间。要为SUSE Linux提供更多磁盘空间,请在列表中自下而上(从硬盘的最后一个分区向上到第一个分区)释放所需空间。如果连接了多个硬盘,则会出现一个选择对话框,可以在其中选择要用于新分区的硬盘。然后,指定分区类型(主要类型和扩展类型)。图2~5展示了创建分区的过程(2->3->4->5)
1.2 分区参数
单击编辑来编辑分区并设置以下关键参数:
1)文件系统
要在安装范围内立即格式化分区,请为分区指定以下文件系统之一:Swap、Ext2、Ext3、ReiserFS或JFS
2)装入点
指定应将分区装入文件系统树中的哪个目录。请从各个 YaST建议中选择,或指定任何其它名称。
1.3 改变分区大小
如果先前选择了包含 Windows FAT或NTFS分区的硬盘作为安装目标,则YaST建议将该分区删除或缩小。这样,即使当前硬盘上没有足够的空间,仍可以安装 SUSE Linux。如果所选硬盘只包含一个覆盖整个硬盘的Window s分区,则此功能尤其有用。预安装 Windows的计算机上通常是这种情况。如果 YaST发现所选硬盘上没有足够的空间,但可以通过删除或缩小Windows分区腾出空间。
图6 调整分区大小
1.4 系统软件安装
SUSE Linux中包含许多用于各种用途的软件包。在建议窗口中单击“软件”打开一个对话框,然后在其中选择一个预定义系统。要启动软件安装模块(包管理器)并修改安装范围,请单击“细节”。如图7(YaST包管理器)所示。
图7 YaST包管理器
需要特别注意的是不能安装软件包的任意组合。要安装的不同软件包必须相互兼容,否则它们可能会互相影响并造成冲突,从而影响整体系统。因此,在此对话框中选择或取消选择软件包后,可能会看到有关未解决的包依赖性或冲突的警报。因此,在YaST包管理器中进行了如下设置:过滤器关键词是:“模式”,基本技术—>基础系统—>细节—>右键单击基础系统,在快捷菜单下选择“此列表中的全部内容”—>安装—>接受。
2 GCC编译器的更新
LINUX系统的C和Fortran编译器系统默认的文件选项中MAXUNIT为100,而GAMIT软件源代码中则要求MAXUNIT为10000。如果不进行修改而直接进行GAMIT软件的安装,则会产生很多的警告性错误,造成安装后无法正常运行。因此,在安装 GAMIT/GLOBK之前,需要用GAMIT/GLOBK特定的编译器取代原LIUNX系统自带的Gcc编译器。Gamit软件的安装是在用户目录下进行的,因此,本人在SUSE Linux系统中建立了用户帐户gaole,而GCC编译器的安装是在根用户下进行的。在SUSE Linux根用户上安装gcc3.4.4为例,介绍gcc的安装步骤[2]。
1)gcc编译器装前须知:
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的gcc3.4.4。因此,在SUSE Linux中,应用YaST包管理器选择相关包并进行安装。
2)gcc编译器下载
从网站上(http://gcc.gnu.org)下载GCC编译器gcc3.4.4的源代码,可供下载的文件一般有两种形式:gcc-3.4.4.tar.gz和 gcc-3.4.4.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。
3)修改root
GCC要在 root用户下安装,且 root为bash,因此,进行如下设置:在 YaST — >Securing and users—>user and group mangement里修改root为/bin/bash。
4)文件解压缩
在根用户下,将GCC编译器源代码拷贝至/usr/gcc目录下,进入该目录,用tar_zxvf命令将其解压后,找到gcc3.4.4/libf2c/libI77/目录下的fio.h文件,用vi命令打开,将#define MAXUNIT 100这一行改为10000,保存后,退到/usr/gcc目录,重新进行编译和安装GCC。
5)建立目标目录
建议编译后的文件不要放在源目录中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是源目录的子目录。
输入的命令为:#mkdir gcc_obj;#cd gcc_obj
6)覆盖原有系统的gcc
输入命令:#/usr/src/gcc-3.4.4/configureprefix=/usr/(此时的目录为/usr/src/gcc-3.4.4_obj)。这样,将用gcc-3.4.4覆盖原来系统自带的gcc。对原有系统的gcc进行覆盖,可以省去许多麻烦的设置。
7)编译
执行命令:#make bootstrap,这是一个较长的过程。
8)安装
执行命令:#make install,运行结束后重启系统。
3 GAMIT软件的安装
GAMIT软件的安装是在用户目录下进行的。下面以在SUSE Linux用户目录上安装Gamit 10.31为例,介绍Gamit的安装过程[2,3,4]。
3.1 软件下载
从麻省理工学院的FTP服务器(http://bowie.mit.edu)下载GAMIT软件包,其中包括了软件源代码和安装包。在 LINUX系统中创建/home/gaole/gamit目录,将GAMIT安装包目录下的文件拷贝至此,其中有安装批处理文件install_software和几个以.tar.Z结尾的压缩文件,以10.31版为例,有:
install_software安装批处理文件;
com.10.2.tar.Z组件压缩包;
gamit.10.2.tar.Z gamit软件压缩包;
help.10.2.tar.Z帮助系统压缩包;
kf.10.2.tar.Z kf软件压缩包;
libraries.10.2.tar.Z库文件压缩包;
可选的还有:
templates.10.2.tar.Z数据模块压缩包;
maps.10.2.tar.Z地图数据压缩包。
3.2 SUSE系统配置文件的修改
1)YaST—>Securing and users—>user and group mangement— >/bin/csh
2)要对安装程序的配置文件Makefile.config进行修改。
与系统相关的设置主要是库文件和编译器的路径设置,在 SUSE Linux下设置的路径为/home/gaole/gamit/libraries下的Makefile.config文件是安装程序的配置文件,很多与系统和GAMIT相关的参数都在里面设置。将“#Specific to FC5”这一项下面的两个X11环境前的“#”去掉,然后保存。
X11LIBPATH/usr/X11R6/lib
X11INCPATH/usr/X11R6/include/X11
与GPS数据处理相关的几个参数可以设置为
MAXSIT最大测站数默认值50;
MAXSAT最大卫星数默认值32;
MAXATM 最大天顶延迟参数默认值13;
MAXEPC最大历元数默认值2880
以上几个参数根据用户的实际研究需要作相应的修改。
3.3 软件安装
1)由于install_software是用C shell写的安装脚本,所以在运行install_software前要确保命令解释程序为C shell,且install_software具有可执行的属性,可用命令chmod+x为其添加可执行属性。执行命令:#chmod+x install_software
做好以上准备就可以安装软件了,进入/usr/gamit/source目录,执行./install_software。在安装中会出现三个问题:
①找到的X11路径正确,此时按Y+回车。
②刚才设置的最大测站等参数时合适,此时按Y+回车,然后开始安装。
③安装完成Gamit后安装GLOBK,按Y+回车即可。
2)设置软件路径
等待上述安装过程结束之后,并不能正常运行GAMIT软件,要对.cshrc/.tcshrc文件配置,否则csh将无法再终端调用GAMIT命令进行数据解算,该文件是C Shell配置文件,默认为隐藏文件。由于SUSE默认使用bash,所以用户主目录下并没有该配置文件,需要自己在主文件夹下建立一个.cshrc文 件。 把 路 径/usr/gamit/com、/usr/gamit/gamit/bin、/usr/gamit/kf/bin,加入到 path。
具体过程为
显示隐藏文件,打开.cshrc修改,加入路径set path=(……)等项,如:set path=(/home/gaole/gamit/com /home/gaole/gamit/gamit/bin /home/gaole/gamit/kf/bin /home/gaole/gamit/help /usr/local/bin /sbin /bin /usr/ccs/bin$path)setenv HELP_DIR home/gaole/gamit/help/
4 实际数据处理
GAMIT/GLOBK软件是高精度GPS数据处理软件中最为经济,使用最广泛的一个软件,利用该软件解算GPS数据需要进行如下工作[5]:
1)准备数据文件,这包括准备连续观测台站和全球IGS站的观测数据文件以及IGS所提供的服务数据;
2)对观测数据进行编辑,这包括文件的分割、合并和质量检查;
3)应用GAMIT软件解算GPS数据,包括设置GAMIT软件参数并进行解算,解算完毕后检查结果的质量;
4)对解算结果做进一步的处理,包括数据的提取,剔除突跳点以及绘制序列图等。
GAMIT/GLOBK具有自动批处理功能,按照上述步骤,从IGS网站上下载了2000年第34天BLYT 、JPLM 、LNCO、MATH 、VNDP 五个站点的数据,建立工程目录d034,在此目录下建立brdc(保存导航文件brdc0340.00n)、rinex(保存观测o文件)、tables(保存控制文件)、igs(保存精密星历.sp3文件),使用终端运行GAMIT/GLOBK,输入下列命令
#Csh
#Sh_gamit–extp casm–d 2000 034–noftp–orbit IGSF
用户会在自动生成的结果目录034中得到处理结果。Sh_gamit完成后生成ASCII码的结果文件Q文件、完全解结果文件O文件、协方差文件H文件。
一般用以下三个标准来评价每天的结算结果[6]:
①包括所需要的所有的数据;
②数据与模型的拟合在期望值内;
③认为残差值合理。
1)从所用观测数据检查
大部分情况下,可以通过GAMIT的总结文件sh_gamit_ddd.summary中以及由sh_glred产生的单天解重复性来评价解算结果是否合理。
首先检查是否包含所需要的所有数据。总结文件中“Total xfile”项应等于 RINEX文件数,如果“Number of station used”小于x文件数,就说明其中有些RINEX文件建立后,在中间处理时因为数据太少又被摒弃了。
2)Gamit数据处理质量的评价标准
GAMIT计算得到的单天解标准化均方差Post_nrms是衡量单天解质量的主要标准之一,其值应在0.2左右,若nrms太大,则说明处理过程中周跳可能未完全修复。
从生成的Q文件中得到的效果ITRF2000框架下的基线结果,如表1所示。
表1 基线处理结果
从表1中可看出,GAMIT/GLOBK处理数据的精度是非常高的,解算基线的相对精度可以达到10-9。
5 结 论
GAMIT/GLOBK软件作为高精度GPS解算处理软件,对于大数据量的数据处理具有运算速度快的特点,在实际工作中有着重要的作用。读者可以根据以上步骤进行SUSE系统平台与GAMIT/GLOBK软件的安装与运行。在实际使用中还可能遇到各种各样的问题,想要真正地用好GAMIT/GLOBK软件,需要在实践中不断地摸索与总结。
[1]ARNDT J,BEHLERT S.Suse Linux 10.0[M/OL].novell Inc,2005,http://www.novell.com/..
[2]王天应,施 闯.GAMIT在 PC机上的安装和使用[J].地理信息空间,2007,5(5):116-118.
[3]王志强,李 军.GAMIT使用指南[J].全球定位系统,2002,27(2):36-39.
[4]成 桦 .在Linux操作系统下安装与运行GAMIT软件[J].计算机与信息技术,2007,(4):73-77.
[5]赵桂儒.基于GAMIT软件的GPS数据处理框架建设[D].中国地震局地震研究所,2007.
[6]党亚民,秘金钟,成英燕.全球导航卫星系统原理与应用[M].北京:测绘出版社,2007.