当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 在Linux操作系统下安装与运行GAMIT软件

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 在Linux操作系统下安装与运行GAMIT软件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 349 ::
收藏到网摘: n/a

  本文主要介绍了Linux操作系统中GAMIT的安装过程,并结合实例介绍了其使用方法。

  1、引言

  随着GPS技术的发展,在大地测量、工程测量、地球动力学、GPS气象学等多种学科中得到广泛的应用,精密解算GPS观测数据的软件也得到了重视与发展。国内外开发了许多GPS数据处理软件,主要有著名的美国麻省理工学院(MIT)和斯克里普斯海洋研究所(SIO)开发的GAMIT软件,美国宇航局(NASA)喷气推进实验室(JPL)研发的GIPSY-OASIS软件,以及瑞士伯尔尼大学天文研究所研制的BERNESE软件等几种。本文主要介绍GAMIT软件,其最主要的特点是其解算精度高,且免费开放源代码,用户可以根据需要对源程序做相应的修改,以便于科研工作。

  2、GAMIT简介

  GAMIT可以解算卫星轨道、测站坐标、大气延迟、整周模糊度等。它主要由以下几个模块组成:ARC(轨道积分)、MODEL(组成观测方程)、SINCLN(单差自动修复周跳)、DBLCLN(双差自动修复周跳)、CVIEW(人工交互式修复周跳)、CFMRG(用于创建SOLVE所需的M文件)、SOLVE(利用双差观测按最小二乘法求解参数)。

  GAMIT软件所需的数据是RINEX格式的,可以处理各种不同型号的GPS接收机采集的数据。目前,GAMIT软件支持在UNIX和LINUX操作系统上运行,本文以GAMIT 10.2和LINUX RedHat 9.0为例来讲解其安装与使用过程。

  3、软件的安装

   3.1 LINUX系统的安装

  首先确保电脑上有足够的空间来安装LINUX,在这推荐至少有10G的空闲空间。LINUX系统的安装可选择从光盘安装,硬盘安装或网络安装,一般选择从光盘安装。在光驱中插入安装光盘,从光盘引导后,根据安装向导的提示,就能完成LINUX系统的安装。

  3.2 LINUX编译器的更新

  LINUX系统的C和Fortran编译器系统默认的文件选项中MAXUNIT为100,而GAMIT软件源代码中则要求MAXUNIT为10000。如果不进行修改而直接进行GAMIT软件的安装,则会产生很多的警告性错误,造成安装后无法正常运行。安装GCC的步骤如下:用户可以从网站上(http://gcc.gnu.org)下载GCC编译器2.95.3或以上版本的源代码,拷贝至/usr/gcc目录下,进入该目录,用tar zxvf 命令将其解压后,找到gcc-2.95.3/libf2c/libI77/目录下的fio.h文件,用vi命令打开,将#define MAXUNIT 100这一行改为10000,保存后,退到/usr/gcc目录,重新进行编译和安装GCC。

  3.3 GAMIT系统的安装

  从麻省理工学院的FTP服务器(http://bowie.mit.edu)下载GAMIT软件包,其中包括了软件源代码和安装包。在LINUX系统中创建/usr/gamit目录,将GAMIT安装包目录/source下的文件拷贝至此,其中有安装批处理文件install_software和几个以.tar.Z结尾的压缩文件,以10.2版为例,分别为:

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 地图数据压缩包

  在安装软件前,要做一些相关配置。首先,要对安装程序的配置文件Makefile.config进行修改。与系统相关的设置主要是库文件和编译器的路径设置,在linux redhat 9.0下设置的路径为:

X11LIBPATH /usr/X11R6/lib

X11INCPATH /usr/X11R6/include/X11

与GPS数据处理相关的几个参数为:

MAXSIT 最大测站数 默认值45

MAXSAT 最大卫星数 默认值30

MAXATM 最大天顶延迟参数 默认值49

MAXEPC 最大历元数 默认值2880

  以上几个参数可根据用户的实际研究需要作相应的修改。其次,由于install_software是用C shell写的安装脚本,所以在运行install_software前要确保命令解释程序为C shell,且install_software具有可执行的属性,可用命令chmod +x为其添加可执行属性。

  做好这些准备就可以安装软件了,进入/usr/gamit目录,运行命令./install_software,然后根据屏幕给出的提示给予回应,就可以完成安装。

  3.4 设置软件路径

  等待上述安装过程结束之后,并不能正常运行GAMIT软件,要对.cshrc文件配置。把路径/usr/gamit/com、/usr/gamit/gamit/bin、/usr/gamit/kf/bin,加入到path。这样做是因为我们在控制台中运行程序时,使用的是bash shell,若不改写C shell配置文件,会导致系统无法从路径中调用到GAMIT的命令。这样GAMIT软件才算真正地完成了安装。

  4、运行实例

  本文选取了2006年,年积日为100天的安徽黄山(ahhs)、安徽马鞍山(ahma)、江苏常州(jscz)、江苏高邮(jsgy)、上海奉先(shfx)、上海浦东(shpd)6个国内的GPS观测站的观测资料。

  4.1 数据准备

  建立rinex、eph、tables目录和以年积日100命名的工作目录。在rienx目录中准备该天的所选用的各个观测站的观测文件o-files。在eph目录中准备导航文件auto1000.06n,GPS卫星星历igu13701.sp3,极移表pole.,TAI-UT1国际时间系统表ut1.,坏卫星信息文件svs_exclude.txt。在tables中建立:测站信息文件station.info,测段信息控制文件sestbl., 测站信息控制文件sittbl.,天线相位中心改正表antmod,dat,周跳的自动探测和修改命令表autcln.cmd,地球形状参数表gdetic.dat,跳秒表leap.sec,月亮表luntab.,章动表nutabl.,太阳表soltab.,星号对照表svnav.dat,接收机及其天线型号对照表rcvan.dat。

  上述的文件,可以在网站(ftp://lox.ucsd.edu)下载2006年底100天的卫星星历,以及2005年的太阳表、月亮表和章动表(这些表每年都要更新,因此要下载所处理数据当年的),其余的文件在安装GAMIT时是自带的,复制到对应的文件夹下即可。需要注意的是, station.info, sestbl., sittbl.这三个文件,应该根据实际处理的情况做相应的修改。

  编辑station.info文件:首先打开o-files,记录每个选用台站的X、Y、Z方向的高度和接收机型号、天线型号,然后来校正station.info文件中的数据,以求每一个站都有正确的天线高度等信息。开始和结束时间形如:0 0 0 0 24 0 0,则天线信息不仅适用于这一天,而且适用于以后的天,直到有更新的信息。同一站的信息可以出现多次,但不必相邻,但必须是按时间先后顺序排列的。

  编辑sestbl.文件:文件选择计算方案和设置与计算方案相应的参数。主要设置下面几项:

A、Choice of Experiment

RELAX:定轨、定位、解ERP;

BASELINE:仅仅定位。

B、Choice of Observable

LC_HELP:用LC观测解模糊度;

LC_RANGE:用LC观测模糊度,但更强调伪距的作用;

LC_ONLY:用LC观测,不解模糊度;

L1_ONLY:仅仅使用L1,解模糊度,对于几公里的小网;

L2_ONLY:仅仅使用L2,解模糊度,对于几公里的小网;

C、Zenith Delay Estimation

YES:解算天顶延迟估计;

NO:不解算天顶延迟估计。

D、Interval Zen

  解算天顶延迟参数的时间间隔。

  编辑sittbl.文件:首先检查是否包括每个选用测站的信息,缺少的信息要补全,然后对每一个站设置先验约束。这里主要是对台站在X、Y、Z方向摆动的作限制。

  4.2 数据处理步骤

  (1)用ln命令链接../rinex,../eph,../tables内的文件到work;

  (2)执行makexp程序建立所有准备文件的输出及一些模块的输入文件。系统会提示让输入试验名、轨道名、year、doy、session number、概略坐标文件、导航文件名,系统还会提示输入采样间隔、起始时间、历元数。这样,我们依次输入pgga,pgga,2006,100,0,lpgga,auto1000.06n,60 0 0 1440即可。

  (3)sh_sp3fit –-f igu13701_18.sp3 –-d 2006 099 100 –-t tpgga6.100

并将生成的*.099文件改名为*.100

  (4)makej auto1000.06n jauto6.100

  (5)makex pgga.

  (6)fixdrv dpgga6.100

  (7)csh b*.bat

  以上pgga为工程名称,可以根据需要进行替换。

  4.3 数据处理结果分析

  此次数据处理例子是解算对流层天顶延迟的。结算的精度与可靠性主要看两个方面:

  (1)是否使用了足够的资料。所得基线分量的精度是衡量这个标准是否满足的标志。此例中基线边解算精度的统计如表1所示。

  由表1可以看到,GAMIT解算得到的基线相对精度均优于对台站坐标和卫星轨道所加的约束10-3

  (2)对资料的拟合模型是否达到它的噪声水平。满足这个条件的判据是解的nrms(normalized rms),即每个自由度的chi-square的平方根。其理论值是1,但实际上这个值在0.25左右才算正常,本例中nrms=0.28。如果这个值大于0.5,则意味着有残余的周跳,或是有严重的其它问题。

表 1

基线边

基线长(m)

精度(m)

相对精度

AHHS- AHMA

221380.31016

0.00386

1.74×10-8

AHHS- JSCZ

288514.33161

0.00344

1.19×10-8

AHHS- JSGY

358731.77533

0.00354

0.99×10-8

AHHS- SHFX

335520.06794

0.00456

1.36×10-8

AHHS- SHPD

355131.54150

0.00496

1.40×10-8

AHMA- JSCZ

139674.63390

0.00490

3.51×10-8

AHMA- JSGY

149475.83358

0.00417

2.79×10-8

AHMA- SHFX

294612.54009

0.00580

1.97×10-8

AHMA- SHPD

293058.38336

0.00645

2.20×10-8

JSCZ- JSGY

114012.99629

0.00343

3.01×10-8

JSCZ- SHFX

176465.95374

0.00508

2.88×10-8

JSCZ- SHPD

165474.09440

0.00610

3.69×10-8

JSGY- SHFX

281897.78401

0.00498

1.77×10-8

JSGY- SHPD

264050.84049

0.00603

2.28×10-8

SHFX- SHPD

32751.45431

0.00630

1.92×10-7

  5、结论

  读者可以根据以上的步骤进行GAMIT软件的安装与运行,不同的硬件配置,处理结果可能有微小的差异。从以上可以得到结论,GAMIT在LINUX系统上的处理结果是可靠的。然而,GAMIT为一复杂的GPS处理软件,在实际使用时,会遇到各种各样的问题,这就需要在实践中不断地摸索总结,这样,才能熟练掌握它。