科学网

 找回密码
  注册

tag 标签: gamit

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

使用GAMIT进行批处理基线解算
PurpleSky 2015-4-2 21:38
1. 文件准备 1.1 控制文件 执行 sh_setup 或者sh_ links.tables 命令来把所有标准数据表文件 链接 到工程目录 ./tables 文件 夹中 。 然后手动从 GAMIT 安装目录的 tables 文件夹拷贝以下文件到tables文件夹,并根据你的需要进行配置。 process.defaults: 通过该文件指定你的计算环境、内部和外部的数据、轨道文件、开始 时间、采样间隔和结果归档说明。 (参考《 GAMIT10.35 中文版》) sites.defaults: 指定使用的本地区域站和IGS 站 ,如何处理测站数据。 如需要从 IGS数据中心获取RINEX文件,应该在 sites.defaults 中用 ftprnx指定下载的测站。sh_gamit将会调用 sh_get_rinex 从CDDIS、SOPAC、UNAVCO下载所有指定的可获得的数据到/rinex 目录 。 station.info: 确定这个文件是新(来自SOPAC)的,并且包含了你解算时需要的所有IGS站。 apr文件: sh_gamit需要工程目录tables文件下的2个先验坐标文件 :lfile.(解算后更新坐标)和 * .apr (固定坐标) 。 假如测站的先验坐标在前先处理得到的 L-文件(或 apr文件)中未找到,sh_gamit 默认会调用 sh_rx2apr 脚本来计算伪距解。 sestbl. 和 sittbl. : 编辑这两个文件,设置恰当的参数 值 ,完成你的分析。 autcln.cmd: 该文件通常不需要编辑,除非在处理时遇到了异常数据,或需要设置电离层信息的输出。 1.2 观测文件 在工程目录下建个 /rinex文件夹,然后把本地的数据都拷贝到其中 ; 也可以在process.defaults文件中指定目录结构,自动搜索本地和远程的原始文件、RINEX文件。GAMIT需要的其它目录、文件都会由脚本直接创建。 2. 开始处理 完成上面的操作之后,你已经在解算项目的文件夹下建立了两个文件夹: rinex 和 tables ,并且已经把观测数据和表文件分别放入其中了。 现在就可以进行批处理解算了, cd 命令回到解算项目文件夹,执行批处理命令: sh_gamit-expt \$expt -d \$year $days ! sh_gamit.log 其中 $expt 代表任务名, $year 和 $days 是年与年积日列表。年积日列表也可以用 -s开始天结束天指定,表示处理连续的天,或者用 -r 天,表示处理当前日期之前的 一系列 天。 当 sh_gamit 脚本运行时,它会把每一步输出到屏幕,可以采用“ ! sh_gamit.log”方式重定向输出到文件中。可以结合 GAMIT.fatal 文件和 sh_gamit的源代码来找到运行失败的关键和原因。 3. 备注 自动批处理时可用的实用程序中用的包括: sh_make_rinex 、 sh_get_nav、sh_get_rinex 、 sh_get_orbits、sh_update_eop、sh_link_rinex、sh_make_sky_gifs。这些程序运行的帮助信息可以直接输入不带参数的程序名获得。 如果不用 sh_rx2apr , 可以在process.defaults 中设置 use_rxc=Y , 应用 RINEX 头文件中的坐标。这个选项只有你确定头文件中的 测站坐标 值总是存在并准确 时 才能使用。 假如 ftp不能从IGS(通常是 SOPAC 或 CDDIS)获得需要的全球 RINEX 文件或轨道文件,sh_gamit 解算 也会失败 , GAMIT.fatal 信息通常会告诉你缺少了什么文件。 在解算失败后,当需要重新解算失败的天时,要注意避免重复的失败。 简便的方法是完全删掉天目录并删除 /tables 目录中 L- 文件和 station.info 文件中的错误记录。 如果提示下载精密星历或者广播星历出错,通常应该是因为你没有安装 ftp 程序。
个人分类: GAMIT/GLOBK|7076 次阅读|0 个评论
使用GAMIT软件分步进行基线解算
PurpleSky 2015-4-2 12:00
1. 文件准备 *RINEX 观测数据( O,N,G ) 每个测站接受机和天线信息( station.info 文件 ) 卫星列表和解算方案( session.info ) IGS 观测站数据;若下载得到的是压缩格式的 rinex d 文件 , 可用 GAMIT 软件提供的 sh_ crx2rnx 命令进行格式转换 * 从 SOPAC 的 FTP 服务器下载以下共同表文件(如果你的数据观测日期晚于所使用的 GAMIT/GLOBK 软件的发布日期,这些文件则通常需要更新。下载这些文件后可以直接放入 GAMIT/GLOBK 安装目录的 tables 文件夹内,一劳永逸,避免以后重复下载): antmod.dat 天线相位中心改正表 autcln.cmd 周跳自动探测和修改命令表 dcb.dat 差分码偏差表 gdetic.dat 地球形状参数表 hi.dat 仪器高参数表 leap.sec 跳秒表 luntal.201 4 .J2000 月亮历表 nutabl.201 4 章动表 ot1.list/grid 全球格网或各测站的海洋潮汐参数表 pole.usno 极移表 rcvant.dat 接收机及其天线型号对照表 soltab.201 4 .J2000 太阳历表 svnav.dat 星号对照表 svs_exclude.dat 坏卫星信息表 ut1.usno 国际时间系统表 2. 创建工作目录 应包括以下目录( $work 代表你的要进行 GAMIT 解算的目录): /\$work/$doy (具体的年积日); /$work/brdc (广播星历); /$work/igs ( SP3 文件); /$work/tables (公用表); /$work/rinex (观测文件) 3. 参数文件的修改和设置 主要是解算控制文件( sestbl. 和 sittbl. ),可以据模板设置。 如果打算在解算时使用 VMF1 映射函数( sestbl. 文件中设置),则需要下载 VMF1 的格网数据文件( mit 的 ftp 服务器)。并设置 tables 文件夹中的 map.grid 指向这个文件 。 4. 初始文件生成 4.1 station.info 文件 cd 命令进入 tables 目录 中 , station.info 文件中的文件头复制到刚新建的文档中,保存 。 输入命令: sh_upd_stnfo -files ../rinex/*o 提取测站信息( 这里的 ../rinex/*o 是指 rinex 观测数据所在路径。 ) 4.2 l-file 台站坐标文件 (方法一)批量提取 rinex 观测数据头文件中的测站位置作为先验坐标(屡试不爽)。 命令示例(在 rinex 目录中执行): grep POSITION *olfile.rnx rx2apr lfile.rnx $year $doy ( $year 为 具体的 年 份( 4 位) , $doy 为 年积日,下同 ) gapr_to_l lfile.rnx.apr lfile. \$year $doy 至此, lfile. 文件 已 准备好了( 可 打开 查看 ) (方法二)生成 L-file 命令示例: sh_rx2apr -site site -nav nav -ref ref -apr apr -chival 这里 site 是一个 RINEX 格式观测文件的文件名,即需要得到坐标的测站, nav 是一个 RINEX 格式的导航文件 , ref 是一个已知坐标测站的 RINEX 文件名, 作为参考站 ( 靠近未知台站好,但没有必要必须靠近 ) , apr 是一个 apr 文件的 文件名,这个文件包括参考测站的坐标。 val 是 chi-square 值,小于这个值的 svpos ( point-position ) 解被认为是收敛的。 4.3 链接各项文件 在 $doy 目录下,输入命令 (示例) : ln -s../rinex/*o ./ (链接观测数据) ln -s../igs/*sp3 ./ (链接精密星历) ln -s../brdc/*n ./ (链接广播星历) sh_ links.tables - frame J 2 000 -year $year (链接 tables 下的公用表文件)(链接后,需检查是否成功,尤其是 luntab. soltab. nutabl. pole. ut1. 这几个文件,如果链接失败,可以使用 ln -s 命令手动链接)。 5. 开始解算 依次执行命令: makexp # 数据预处理,按提示键入解算任务名、广播星历名,采样间隔等 sh_sp3fit -f *sp3 -o igsf -d $year $doy # 链接精密星历 makej brdc*n jbrdc\$y.$doy # 生成卫星钟文件( $y 代表一位数字表示的观测数据年,即年的最后一位) makex $expt.make x .batch # 创建观测数据( $expt 代表你的解算任务名) fixdrv d$expt\$y.$doy # 启动数据驱动程序 csh b*bat # 执行数据解算 6. 备注 GAMIT/GLOBK 软件提供了很多下载准备数据的脚本,如下载广播星历的 sh_get_nav ,下载精密星历的 sh_get_orbits 以及下载 IGS 参考站观测数据的 sh_get_rinex 等。读者可以在终端中输入这些命令参看帮助文档。
个人分类: GAMIT/GLOBK|9916 次阅读|0 个评论
GAMIT-GLOBK处理实例——从零开始,到解算结束
热度 2 POPOPOLAR 2014-8-28 09:55
确认 GAMIT/GLOBK 软件安装成功之后,为了能正确处理数据和绘图,还需要做两件事情。第一,更新表文件。在 ftp 服务器上下载最新的 tables 表文件( ftp://garner.ucsd.edu/pub/gamit/tables/ ),然后复制到安装目录下的 tables 中,遇到相同文件选择覆盖即可;第二,安装并配置好绘图工具 GMT ( The Generic Mapping Tools )。 友情链接: Linux/Ubuntu 环境下轻松安装 GAMIT/GLOBK—— http://blog.sciencenet.cn/blog-1217335-814640.html Linux/Ubuntu 环境下轻松安装配置 GMT—— http://blog.sciencenet.cn/blog-1217335-758694.html 下面的实例中,处理的数据为 2010 年第 56 到 60 共 5 天的 3 个 IGS 跟踪站( cas1 、 dav1 和 mac1 )和 2 个待求站( grw1 、 zhn1 )的数据。 一、处理前的准备 1 、在主文件夹内新建 nanj 项目文件夹,项目内新建 brdc 、 igs 、 rinex 三个文件夹,分别存放当天的广播星历、精密星历和观测值文件。 注意:如果文件采用 .z 压缩格式,则应当使用 gunzip 命令进行解压;如果解压出的观测值文件仍采用 .d 的压缩格式,则应使用 crx2rnx 命令将其转化为 .o 的标准 RINEX 格式( sh_crx2rnx -f *.*d 可用于 .d 到 .o 文件的批量转换)。 2 、终端进入 nanj 项目文件夹内链接 tables ,运行: sh_setup -yr 2010 3 、生成 station.info 文件。将 nanj/tables 下的 station.info 文件拷贝到 rinex 文件夹下,打开并编辑,仅保留以 # 或 * 开头的前几行,保存并关闭。 打开终端并进入 rinex 文件夹,运行 sh_upd_stnfo -files *.10o 运行成功以后 station.info 文件便存放了此项目内的开始、结束时间,站名和接收机、天线类型等信息。 4 、建立 lfile. 文件。 lfile. 是测站的先验坐标文件。打开终端并进入 rinex 文件夹,用批处理的方式生成 lfile. 文件可以分为三步: a )提取观测值 .o 文件的先验 XYZ 坐标 grep POSITION *.10o lfile.rnx b )将 .rnx 文件转化为 .apr 文件 rx2apr lfile.rnx 2010 056 c )由 .apr 文件生成 lfile. 文件 gapr_to_l lfile.rnx.apr lfile. 2010 056 将 station.info 和 lfile. 两个文件拷贝到 nanj/tables 文件夹,覆盖原文件。 5 、 sestbl. 的配置。 nanj/tables 下的 sestbl. 文件是测段分析策略文件,该文件内部有详细的说明。一般来说采用默认配置即可,通常需要修改的三个地方是: Choiceof Experiment 选择处理方式 Choice of Observable 选择观测值类型和模糊度解算 Use otl.grid 选择是否使用潮汐文件 对于 Choice of Experiment ,选择 BASELINE 时将固定轨道并在 GAMIT 处理中和输出 h- 文件时忽略轨道参数;选择 RELAX 时将采用松弛解,合并全球 IGS h- 文件时需要。要想点位置精度高用 RELAX ;若目的是求基线后面平差则用 BASELINE 。在此实例中采用默认的 BASELINE 。 对于 Choice of Observable ,选择 LC_AUTCLN 为采用宽巷模糊度值并用伪距在 autcln 中解算;对于小于几公里的基线,用 L1 和 L2 独立载波相位观测值( L1,L2_INDEPENDENT )或者仅用 LI ( L1_ONLY ),相比用无电离层组合( LC_HELP )可以减少噪声水平。 对于 Use otl.grid ,由于这里已在 ftp 上更新 tables ,有了最新的 otl.grid 文件,所以这里选择 Y 。 6 、 sittbl. 的配置。 nanj/tables 下的 sittbl. 文件对各个测站的先验坐标(或钟差、大气模型等)进行约束。对高精度的已知坐标采取强约束,而对待求点采用松弛约束。如 IGS 站的坐标分量约束在较小的 1 ~ 75px ,对未知点的约束可以到 5 ~ 10m 。 7 、 sites.defaults 和 process.defaults 的配置。 sites.defaults 文件用来控制需要参与解算的测站。在文档末尾可以根据提示编辑,来给定那些不参与解算的测站或是测站的某些天。 process.defaults 文件用来控制处理过程中的很多细节,比如 sampling interval, number of epochs, start time for processing , default globk .apr file 等等,根据需求和提示进行编辑。 在这里均使用它们的默认值。 二、利用 GAMIT 解算基线 用终端进入 nanj 的项目文件夹,输入批处理命令进行解算: sh_gamit -expt nanj -s 2010 056 060 -orbitIGSF -yrext -noftp -dopt D ao c x sh_gamit.log 参数说明: -expt :指定四个字符的项目名称 -d :指定需要处理的指定日期,例如 -d 2010 56 60 ,指的是处理 2010 年第 56 和 60 天。 -s :指定需要处理的时间序列,例如 -s 2010 56 60 ,指的是处理 2010 年第 56 到 60 天。 -orbit :卫星轨道类型。 -yrext :给日目录前添加年前缀,例如 2010_006 。 -noftp :处理过程中不连接 ftp 下载数据。 -copt :数据处理完成后待压缩的文件类型,例如 -copt o q m k x 。 -dopt :数据处理完成后待删除的文件类型,例如 -dopt D ao c x 。 结果文件将存放在名称为年积日的文件夹内,此例中,可供参考的结果文件为: sh_gamit_2010_006.summary 解算总结 qnanja.006 解算记录 onanja.006 解算记录的简略版,一般关注此文件 hnanja.10006 协防差矩阵、参数平差值 在上述文件中,可根据描述来判断解算结果是否符合相应的需求。其中,基线解算结果( O 文件,即这里的 onanja.006 )中的 postfit_nrms 项优于 0.3 左右时最佳;如果大于 1.0, 则表示此解存在问题。 三、利用 GLOBK 进行平差处理 用终端进入 nanj 的项目文件夹内,运行: sh_glred -expt nanj -s 2010 050 2010 065 -yrext -opt H G E sh_glred.log 参数说明: H :运行 htoglb ,把文件转换为二进制文件 G :运行 glred ,合并文件 E :绘图 运行成功后,进入 gslon 文件夹,以 psbase 开头的文件即为各个站三维坐标时间序列的图形表示。 用终端进入 gsoln 目录下,依次运行: ls../glbf/h*glx nanj.gdl glred6 globk_comb.prt globk_comb.log nanj.gdl globk_comb.cmd 生成的 globk_comb.org 文件中就包含了解算点的三维坐标和相关参数。 至此,利用 GAMIT-GLOBK 解算 GPS 基线并进行平差的实例叙述完毕。 本文出于帮助初学者利用 GAMIT-GLOBK 软件解算 GPS 基线并平差的目的撰写,但受笔者水平限制,难免存在疏漏和错误,欢迎大家批评指正。
个人分类: GAMIT|17428 次阅读|2 个评论
Linux/Ubuntu环境下轻松安装GAMIT/GLOBK
热度 1 POPOPOLAR 2014-7-25 15:32
由于GNSS数据处理的需要,几年来,笔者在不同的场合、不同的机器下若干次安装并持续使用GAMIT/GLOBK 软件, 现在也算有所心得。 第一次安装GAMIT/GLOBK时,参考过很多网上的教程 ,但作者往往对一些细节存在疏漏或错误,我在吸取他们经验的同时,也被误导过。感同身受之后,我决定写这样一个容易理解也方便操作的安装教程。 一、安装Linux 系统 GAMIT/GLOBK 是基于Unix 操作平台的开源科研软件,Linux 是Unix 的分支,而如今Linux 家族中,最流行的莫过于Ubuntu 了,此教程就是基于Ubuntu 来说明的。 很多人在装Linux前都是忠实的Windows用户,如今Windows 下安装Ubuntu 也变得很方便,无非就是下载Ubuntu 系统和安装该系统,但这些都不是本教程讨论的问题所在。需要说明的是,若从稳定性和执行效率考虑,不推荐虚拟机安装和wubi (Windows 下安装Ubuntu 的一种精简方法)安装,还是推荐大家将Ubuntu 的ISO 镜像刻录到U 盘,再从U 盘启动安装。 二、安装GAMIT/GLOBK 进入Ubuntu系统并确认已连接互联网后,按以下步骤操作。 1 )安装依赖环境 首先打开终端(类似于Win 下的cmd ,快捷键是Ctrl+Alt+T ), 输入 sudo -s 会提示你输入账户密码,输入正确之后就会获取系统的root 权限了(类似于Win 下的管理员账户权限)。 接下来就要安装一些支持GAMIT 的软件包,只需依次输入以下代码,根据网络环境耐心等待即可。 apt-get install gcc apt-get install gfortran apt-get install csh apt-get install tcsh apt-get install libx11-dev 2 )GAMIT 软件源的准备 现在以安装GAMIT 10.5 为例,我将软件源码放在桌面上的gamit10.5 文件夹中。 现在需要将gamit10.5 整个文件夹移动到/opt 目录下,在终端中输入以下命令: mv ~/ 桌面/gamit10.5 /opt 如果提示权限不够,那么还是按照之前的方法,输入sudo -s 来获取权限再试一遍。 然后用进入存放源码的文件夹 cd /opt/gamit10.5 将install_software 文件修改权限为可执行, chmod +x install_software 4 )开始安装GAMIT/GLOBK 在终端中输入 ./install_software GAMIT 的安装就会自动开始了。在遇到第一次询问时,直接输入Y 到下一步。 遇到第二次询问时,会向你确认X11 的路径是否配置正确,如下图所示。 这个时候,不要关闭终端,使用快捷键Ctrl+Alt+T 开启另一个终端,进入libraries目录 cd /opt/gamit10.5/libraries 然后编辑Makefile.config 这个配置文件。 sudo gedit Makefile.config (注意Makefile的大小写 ) 在打开的Makefile.config 这个文档中,共有三个地方需要用户手动修改。 第一个需要修改的地方,是X11 的路径所在,如下图所示。根据安装系统版本不同,各位显示的路径也不一定相同,下图是笔者文档中显示的内容。 需要做的是将文档中X11 的路径修改为终端内显示的路径 。(我因为已经修改过了,所以终端和文档内的路径是吻合的) 需要特别说明的是,很多时候会遇到终端里面显示的X11LIBPATH 这一栏为空的情况,解决办法是, 在终端输入n,然后终端就会自动扫描系统路径并显示出来,据此再去修改文档里的路径即可。 第二个需要修改的地方,是GAMIT 的一些内部参数,分别是MAXSIT (最大测站数)、 MAXSAT (最大卫星颗数)、 MAXATM (最大天顶延迟)和MAXEPC (最大历元数)。这里需要改的只是将MAXATM 由13 改为25 即可,如图所示。 第三个需要修改的是Linux 操作系统的版本号。Ctrl+F 查找Linux ,找到如下图所示位置。 再重新打开一个终端,输入命令查看自己的Linux 版本。 uname -a 笔者的终端返回值如下图所示。 只需记住版本的前四位编号即可,以笔者自己为例,版本编号就是3130 。再回到打开的文档中,修改刚才找到的版本那一栏为OS_ID Linux 0001 3130 即可。 至此,该配置文档里面的三个需要手动修改的地方全部修改完毕,保存退出即可。 这时候,再回到之前停留在第二次询问的终端窗口中,遇到询问后一路输入Y 继续安装即可。不出意外的话,最后就会提示GLOBK 也已经安装成功,并提醒使用者配置路径。 5 )最后的配置 经过这些步骤,GAMIT/GLOBK 已经安装成功,只需要配置好路径就能在机器上运行了。 在终端中输入 gedit ~/.bashrc 打开.bashrc 文档后,将以下代码加在在文档末尾: export PATH=$PATH:/opt/gamit10.5/gamit/bin:/opt/gamit10.5/com:/opt/gamit10.5/kf/bin export HELP_DIR=/opt/gamit10.5/help/ 需要注意的是,这里的路径必须是用户自己安装GAMIT 的路径,不要照搬笔者的代码。然后保存退出,在bash 下加载刚才修改的文件。输入 source ~/.bashrc 至此,GAMIT/GLOBK软件就能成功运行了。 验证安装和配置是否成功的方法是在终端内输入GAMIT/GLOBK的命令,如果显示命令未找到,则说明在操作中存在错误,请重新安装和配置;如果终端返回该命令的帮助说明,则说明软件已经安装,并配置成功。 这里给出两个简单的GAMIT命令供读者验证: doy sh_get_rinex 最后,欢迎加入GAMIT/GLOBK使用者的大家庭! 本文出于帮助初学者学会快速安装GAMIT/GLOBK 的目的撰写,但受笔者水平限制,难免存在疏漏和错误,欢迎大家批评指正。
个人分类: GAMIT|14872 次阅读|1 个评论
Ubuntu系统GAMIT/GLOBK程序安装
chaoshu 2014-4-24 11:11
最近开始学习GAMIT,网上资料还是蛮多的,但是感觉都是东拼西凑的,一点都不系统,一点不适合初学者。安装教程也是乱七八糟的,下面把我的安装过程分享一下:(我也是参考的网上一个教程,很久以前下载的,地址忘了,对原作者表示深深感谢) GAMIT/GLOBK程序安装 GAMIT/GLOBK 安装方法 进入 Ubuntu 系统并确认已连接互联网后,按以下步骤操作。 1 、安装依赖环境 首先打开终端(类似于 Win 下的 cmd ,快捷键是 Ctrl+Alt+T ) , 输入 sudo -s 会提示你输入账户密码,输入正确之后就会获取系统的 root 权限了(类似于 Win 下的管理员账户权限)。接下来就要安装一些支持 GAMIT 的软件包,只需依次输入以下代码,根据网络环境耐心等待即可。 apt-get install gcc apt-get install gfortran apt-get install csh apt-get install tcsh apt-get install libx11-dev 2 、 GAMIT 软件源的准备 现在以安装 GAMIT10.5 为例,将软件源码放在 /home/gamit10.5 文件夹。现在需要将 gamit10.5 整个文件夹移动到 /opt 目录下,在终端中输入以下命令: mv ~/gamit10.5/opt 如果提示权限不够,那么还是按照之前的方法,输入 sudo -s 来获取权限再试一遍。然后用进入存放源码的文件夹: cd /opt/gamit10.5 将 install_software 文件修改权限为可执行 chmod +x install_software 3 、配置 shell 首先看下当前是什么类型的 shell ,一般情况下 Ubuntu 默认的都是 bash, 虽然 gamit 是用 csh 写的,但是经过测试,既可以在 csh 中安装,也可以在 bash 中安装。输入:     echo $SHELL /bin/bash     上面结果可以看出,此时终端font默认 bash ,若想在 csh 中安装,则需要改变当前的 shell ;下面介绍一下临时改变 shell 的简单方法,若是由 bash 改变为 csh ,只需要在终端输入 csh 即可,同理变回来只需输入 bash 。临时的改变 shell 只对当前的终端是有效的,但这对于 gamit 的安装已经足够了。 如果想更改登入时的默认 shell ,操作如下:在终端输入 chsh, 按提示输入密码(如果是在 root 身份就不需要密码)。然后输入 shell 的路径,以下操作是从 bash 改变为 csh : chsh 密码: 正在更改 chaoshu 的 shell 请输入新值,或者直接敲回车键已使用默认值 登录 shell : /bin/csh 上面步骤完成以后,我们输入 echo $SHELL ,再查看一下,发现 shell 仍然是 bash ,注意了,这里是改变登录时的默认 shell ,因此若想让以上改变生效,只需要注销下,重新登录下就可以啦。 4 、开始安装 GAMIT/GLOBK 终端在 /opt/gamit10.5 目录下执行下面命令: ./install_software GAMIT 的安装就会自动开始了。在遇到第一次询问时,直接输入 Y 到下一步。遇到第二次询问时,会向你确认 X11 的路径是否配置正确。这个时候,不要关闭终端,使用快捷键 Ctrl+Alt+T 开启另一个终端,进入 libraries 目录: cd /opt/gamit10.5/libraries sudo gedit Makefile.config 然后就会弹出一个该文件的编辑框, gamit10.5 需要修改的地方主要有三个 ,gamit10.6 可能需要需要修改四个地方; 第一, 修改 X11 的路径所在,根据安装系统版本不同,各位显示的路径也不一定相同,下图是笔者文档中显示的内容。需要做的是将文档中 X11 的路径修改为: 如何查找路径?可以在终端内输入搜索本机路径: cd /home # 或者 cd ~ find / -name libX11* 结果如下: find / -name Xlib.h 第二, 修改 gamit 的内部参数,实际上就是写代码时声明的常量。分别是 MAXSIT( 最大测站数 ) 、 MAXSAT( 最大卫星颗数 ) 、 MAXATM( 最大的天顶延迟 ) 、 MAXEPC (最大历元数) ; 在这里,将 MAXATM 改为 25 即可(默认为 13 ), MAXEPC 改为 5760 。其实,在这里不改也是可以的,以后我们用到的时候再改也不迟,这些常量的定义分别位于 /gamit/include/dimpar.h 和 makex.h 头文件中,稍微懂一点 fortran 语言的话,修改完了重新编译即可。 第三, 修改 Linux 操作系统版本号。找到“ forLinux from 0.0.1 to 3.0.0 ”,如下图所示位置: 修改下面的一行, OS_IDLinux 0001 3000 ,记住只修改最后的那四个数字为用户自己的计算机版本号就好了。操作如下: 按 Ctrl+Alt+T 打开终端,输入 uname-a 查看当前操作系统的版本号; 如上图所示:操作系统的版本号是: 3.0.0-12 ;但是在 gamit 中,只记录下操作系统版本号前 4 位,因此在这种情况下的版本号应记为: 3001 ; 保存上面的所有修改。如果是 gamit10.5 版本,完成上面三个修改即可。不需要进行第四步修改。直接进入安装;如果是 gamit10.6 的版本,那么还需要检查第四个修改的地方。 第四, 如果你的电脑是 32 位的,那么就要将该文件中的全部 m64 改为 m32 ,另外 /opt/gamit10.6/gamit/solve/Makefile.generic 该文件中的所有 m64 也要改为 m32 。 至此,配置文档里需要手动修改的地方全部修改完毕,保存退出即可。这时候,再回到之前停留在第二次询问的终端窗口中,遇到询问后一路输入 Y 继续安装。不出意外的话,最后就会提示 GLOBK 已经安装成功,并提醒使用者配置路径。 5 、配置 gamit 环境变量 gamit 路径的配置也是分为两种( bash 和 csh ),如果是用 csh 安装 gamit 的,则配置路径如下:需要在主文件夹下新建一个空白文档,并重命名为 .cshrc 。注意这是一个隐藏文件,因此在这之前,应该按 Ctrl+H , 显示所有的隐藏文件。然后双击打开新建的 .cshrc 文件,复制一下内容到该文件中: set gg = ‘/opt/gamit10.5’ setenv PATH“$gg/com:$gg/gamit/bin:$gg/kf/bin:$PATH” setenv HELP_DIR “$gg/help/” setenv INSTITUTE ‘MIT’ 然后保存下。回到终端 ( 进入主目录下面 ) ,输入 source ~/.cshrc ,对该配置文件进行下加载。那么这个路径就生效了。若想验证下有没有配置成功,只需要在终端下输入 echo $PATH ,看看有没有 gamit 的路径,若有的话就成功了。 以上为 csh 的路径配置,下面介绍下 bash 的路径配置,若采用默认的 bash 安装 gamit 的,则只需要在终端输入 sudo gedit ~/.bashrc ,弹出一个文件编辑框,只需要在文件的最后添加以下代码即可: gg=‘/opt/gamit10.5’ PATH=“$gg/com:$gg/gamit/bin:$gg/kf/bin:$PATH” export PATH HELP_DIR=“$gg/help/” exportHELP_DIR INSTITUTE=‘MIT’ export INSTITUTE 保存退出回到终端 ( 进入主目录下面 ) ,输入 source ~/.cshrc ,对该配置文件进行下加载。 检查是否安装成功: cd ~ gedit .cshrc # 在打开的文件中输入如下内容,注意引号需要英文模式下(命令之间都是有空格的) set gg = ‘/opt/gamit10.5’ setenv PATH “$gg/com:$gg/gamit/bin:$gg/kf/bin:$PATH” setenv HELP_DIR “$gg/help/” setenv INSTITUTE ‘MIT’ # 保存文件以后 csh source .cshrc doy
个人分类: GAMIT/GLOBK|10003 次阅读|0 个评论
[转载]GAMIT安装
huhnglvkrh 2013-3-12 15:03
转载自:ubuntu下安装gamit_藏匿的锋芒_百度空间 参考链接 1. http://www.5dlinux.com/article/1/2008/linux_15236.html 2. http://hi.baidu.com/zzh_my/blog/item/9258bd031a032d7f3812bb04.html 目前网络上在ubuntu基础上安装gamit最详细的资料就是一篇(原作者的博客曾经找到过,但这次参考了zzh-my的转载文章) 从安装的过程来看,ubuntu在台式机上会安装gcc,但是笔记本上则不会,所以在第一次装的时候并没有成功,虽然从头到尾都安装了,没有中断,但最后采用doy验证的时候没有通过。 下文是根据原文加自己的安装过程,总结出的内容,蓝色为原文,内容可能上下有出入,但不影响安装。 出入的部分主要是软件的版本显示问题(原文是10.34,我安装的是10.35)和安装路径。 首先,安装GCC,因为在root模式下,命令行没有sudo apt-get build-dep gcc 链接1采用两种方法,比较了大小后决定采用第一条,就是上面的命令。 通过gcc --version确认版本为 GCC 4.3.3 Gamit安装需要csh(tcsh)环境、 GNU gfortran 4.2编译器和libx11-dev库支持。gfortran是软件推荐使用的编译器。libx11-dev是X11的程序开发库,它提供的lib.h和 libx11.a(libx11.so)是Gamit安装必须用到的两个库文件,主要是为Globk的提供图形库支持。以上三个条件却一不可。 ubuntu系统没有csh,默认为bash。因此要先安装csh。 ubuntu系统自带了gcc4.2,但是却没有安装gfortran编译器。而你安装时安装程序会调用默认的gfortran编译器,除非你指定gcc为你的编译器。 首先,以root身份登录,打开终端,输入 apt-get install csh 系统自动下载并安装csh,安装完成后在终端输入 chsh 提示 正在更改 root 的 SHELL 请输入新值,或直接敲回车键以使用默认值 登录 Shell : 输入 /bin/csh 修改bash为csh。重新起动ubuntu,并以root身份登录,打开终端,输入 # echo $SHELL 返回s“/bin/csh”,说明SHELL修改成功。 接着输入 apt-get install gfortran 系统自动下载并安装gfortran。 在输入 apt-get install libx11-dev 系统自动下载并安装libx11-dev库支持。 安装gamit 10.35 定位到gamit的下载路径(即安装路径) 准备工作: chmod +x install_software 修改install_software文件内容 “usr -name libX11.a”为"usr -name libX11.so",一个是静态共享库,一个是动态共享库。 makefile.config,修改: # X11 library location - uncomment the appropriate one for your system # Generic (will work on any system if links in place) X11LIBPATH /usr/lib/X11 X11INCPATH /usr/include/X11 # Specific for Sun with OpenWindows #X11LIBPATH /usr/openwin/lib #X11INCPATH /usr/openwin/share/include/X11 # Specific for PC Solaris 10 #X11LIBPATH /usr/openwin/lib/ #X11INCPATH /usr/openwin/share/include/X11 # Specific to Linux RedHat 7,8 and 9, RH-FC1 - 3 #X11LIBPATH /usr/X11R6/lib #X11INCPATH /usr/X11R6/include/X11 # Specific to FC5 #X11LIBPATH /usr/lib #X11INCPATH /usr/include/X11 # Specific for MIT HP and Sun for Release 5 #X11LIBPATH /usr/lib/X11R5 #X11INCPATH /usr/include/X11R5 # Specific for IBM AIX4.2 #X11LIBPATH /usr/lpp/X11/lib #X11INCPATH /usr/lpp/X11/include # Specific for MacOSX #X11LIBPATH /usr/X11R6/lib #X11INCPATH /usr/include/X11 为: # X11 library location - uncomment the appropriate one for your system # Generic (will work on any system if links in place) #X11LIBPATH /usr/lib/X11 #X11INCPATH /usr/include/X11 # Specific for Sun with OpenWindows #X11LIBPATH /usr/openwin/lib #X11INCPATH /usr/openwin/share/include/X11 # Specific for PC Solaris 10 #X11LIBPATH /usr/openwin/lib/ #X11INCPATH /usr/openwin/share/include/X11 # Specific to Linux RedHat 7,8 and 9, RH-FC1 - 3 #X11LIBPATH /usr/X11R6/lib #X11INCPATH /usr/X11R6/include/X11 # Specific to FC5(F6,F7,F8 ) X11LIBPATH /usr/lib X11INCPATH /usr/include/X11 # Specific for MIT HP and Sun for Release 5 #X11LIBPATH /usr/lib/X11R5 #X11INCPATH /usr/include/X11R5 # Specific for IBM AIX4.2 #X11LIBPATH /usr/lpp/X11/lib #X11INCPATH /usr/lpp/X11/include # Specific for MacOSX #X11LIBPATH /usr/X11R6/lib #X11INCPATH /usr/include/X11 gamit路径/libraries压缩包里,修改Makefile.config/ Makefile.config.bak 中的一组参数 MAXSIT 55 MAXSAT 32 MAXATM 13 MAXEPC 2880 将MAXATM改为25。 执行 ./install_software 安装程序install_software启动,搜索安装目录/opt/gamit10.34下的全部压缩文件,提示 GAMIT and GLOBK to be installed into /opt/gamit10.34 If you need help with command line options type CTL_C now and type install_software -help on the command line The compressed tarfiles will be removed after extraction of the directories, but except for that, the script may be stopped and rerun safely from any point. Tarfiles to be uncompressed: com.10.34.tar.Z etopo5.grd.10.0.tar example.10.34.tar.Z gamit.10.34.tar.Z help.10.34.tar.Z kf.10.34.tar.Z libraries.10.34.tar.Z maps.10.1.tar.Z tables.10.34.tar.Z Continue ? (y/n) 输入字母“y”,开始解压缩安装文件, .. uncompressing and extracting the directories: Do you want to apply incremental updates: incremental_updates.080812.tar.Z incremental_updates.080919.tar.Z incremental_updates.081022.tar.Z Continue ? (y/n) 输入字母“y”,开始解压缩安装文件, .. applying incremental updates: .. adding /opt/gamit10.34/com to your search path to continue installation To execute GAMIT and GLOBK you will need to set your login path to include /opt/gamit10.34/com /opt/gamit10.34/gamit/bin /opt/gamit10.34/kf/bin You will also need the alias or link gg -- /opt/gamit10.34 Your Operating System type is: Linux Your default awk version is: /usr/bin/awk These are the default paths to X11 found in Makefile.config X11LIBPATH: /usr/lib/X11 X11INCPATH: /usr/include/X11 Searching your system for X11 installation Found these paths to X11 libs and includes on your system X11LIBPATH: /usr/lib X11INCPATH: /usr/include/X11 Are these correct for your system? Continue? (y/n) 输入字母“y”,提示 GAMIT dimensions in /libraries/Makefile.config are set to maxsit = 55 maxepc = 2880 maxatm = 25 maxsat = 32 Are these defaults found in Makefile.config correct? If NOT edit the Makefile.config now before choosing to contine Continue ? (y/n) 输入字母“y”,开始安装。安装最后会提示 ++++++++++++++++++ GLOBK installed ++++++++++++++++++ Create the gg link in your home directory to the version of gamit/globk you just installed ? (y/n) 输入字母“y”,回车,显示 Making required ~/gg link to newly installed software ln -s -f /opt/gamit10.34 ~/gg Don't forget to set your : path to include /opt/gamit10.34/gamit/bin and /opt/gamit10.34/kf/bin : HELP_DIR environment variable in you shell profile (in .cshrc/.tcshrc add: setenv HELP_DIR /opt/gamit10.34/help/) : INSTITUTE evnironment variable in your shell profile (in your .cshrc/.tcshrc add: setenv INSTITUTE where_i_work) where_i_work is a 3 character identifier for your solutions 至此,软件已经安装成功。但要始软件能够正常使用,还要修改“主文件夹”下的“.cshrc”文件.该文件是用户的C SHELL配置文件,默认为隐藏文件。必须将Gamit的安装目录添加在里面,否则将无法在终端使用Gamit命令进行数据解算。 由于ubuntu默认使用bash,所以,用户主目录下并没有csh的配置文件,你需要在自己的主文件夹下建立一个“.cshrc”文件,并输入内容如下 # # This file is applicable to all C-shell users. # set prompt set prompt = " % " set history = 50 set gamitpath = /opt/gamit10.34 set path = (. /bin /sbin /ect /usr/bin /usr/sbin /usr/ucb /usr/bin/X11 /usr/X11R6/bin $path) set path = (. /usr/local/gmt/bin /usr/local/bin /usr/local/sbin /usr/local/lib /usr/lib $path) #set path = (. /usr/local/gmt/bin /usr/local/bin /usr/local/lib /usr/ucb/ nfs r0 soft0 0 $path) set path = (. g a m i t p a t h / g a m i t / b i n gamitpath/kf/bin g a m i t p a t h / c o m path) setenv HELP_DIR $gamitpath/help/ setenv PATH "/usr/sbin:/sbin:${PATH}" setenv MANPATH /usr/local/gmt/man:/usr/local/man:/usr/X11R6/man setenv LIBPATH /usr/local/gmt/lib:/usr/lib:/usr/local/lib:/usr/i386-glibc21-linux/lib #set gcclib direction setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.1/lib/ # set alias alias cd 'cd \!*; set prompt = " % "' alias pwd 'echo $cwd' alias ls 'ls --classify' alias ll 'ls -l' alias la 'ls -a' alias rm 'rm -i' alias mv 'mv -i' 保存,OK,全部安装完成。在终端输入 doy 返回 DOY: Converts various date formats DOY: Converts various date formats. Runstring: % doy jd/year doy/month day hr min or % doy gps_weekW gps_sow/gps_dow or % doy DecYearY where jd is Julian date (assumed if only one argument) year is calender year doy is day of year (assumed if two arguments) month is month day is day of month. hr min is hrs and minutes of day (Only if ymd form used). In the second form (i.e. W appended to the first value), the entries are assumed to gps week no and the second entry (optional) is either gps day of week (0-6) or seconds of gps week. NOTE: GPS Day of Week runs from 0-6 (Changed May 20, 1997). In the third form with Y appended, the argument is taken as deciminal year. (Versions after 2004/12/21 correctly account for leap years in converting deciminal years back to Julian dates) The conversions made are based on the number of arguments passed. NDOY: Version of doy of year which takes keyboard input in the forms above. (^D ends program input). Example: doy 92 200 Date 1992/07/18 0:00 hrs, DOY 200 JD 2448821.5000 MJD 48821.0000 GPS Week 653 Day of week 6, GPS Seconds 518400 Day of Week Sat Decimal Year 1992.54372 Example: doy 654W 345600 Date 1992/07/23 0:00 hrs, DOY 205 JD 2448826.5000 MJD 48826.0000 GPS Week 654 Day of week 4, GPS Seconds 345600 Day of Week Thu Decimal Year 1992.55738 ***TODAY*** IS: Date 2008/10/30 15:19 hrs, DOY 304 JD 2454770.1387 MJD 54769.6387 GPS Week 1503 Day of week 4, GPS Seconds 400786 Day of Week Thu Decimal Year 2008.829614 本文引用地址: http://blog.sciencenet.cn/blog-645611-563123.html
9591 次阅读|0 个评论
GAMIT 对流层延迟计算批量绘图命令解析
热度 1 zhangyong1361 2013-1-13 20:19
GAMIT 对流层延迟计算批量绘图命令解析
GAMIT软件能进行严密的天定方向对流层延迟分析,并且可以利用sh_gamit_atmos 命令对多天的数据进行合并绘图,具体做法如下: 1、采用本博客中《 批量复制GAMIT的结果文件O文件至指定目录 》(地址为 http://bbs.sciencenet.cn/blog-847561-648299.html )把多天的o文件复制到指定文件夹下。 2、在该文件夹下运行sh_gamit_atoms命令进行批量绘图。 如:sh_gamit_atoms -o o* 下面说明sh_gamit_atoms命令一些注意事项 1、按照上面的命令默认绘制的是free模式下的,并且是改正数(平差改正数加上初始值才是总的) 2、增加 -t 显示总的延迟量 如:sh_gamit_atoms -o o* -t 3、选择 fixed 模式或者一起生成两种模式 -fixed -both(图上一起显示free fixed) free fixed模式的解释查看本博客的《GAMIT/BLOBK中固定解、浮点解、约束解、松弛解等解类型解释》(地址 http://bbs.sciencenet.cn/blog-847561-648551.html ) 下面为一些示例图(显示的均为总延迟量) free模式 fixed模式 both模式(其实两者差不多,从图上看都融在一起了) 以上是一些最基础的东西,如有不当欢迎大家指正交流 E-mail:zhangyong1361@163.com 张勇 2013 01 13
个人分类: GNSS|5343 次阅读|1 个评论
GAMIT 中 error: GMT Warning: Old GMT 3 .gmtdefaults 解决方案
zhangyong1361 2013-1-4 16:26
GAMIT 中 error: GMT Warning: Old GMT 3 .gmtdefaults 解决方案
error: GMT Warning: Old GMT 3 .gmtdefaults file found. May not be fully compatible with GMT 4. GMT Warning: It is recommended that you migrate your GMT 3 settings to GMT 4 settings. 环境说明: 系统:Ubuntu 10.04 LTS GAMIT/GLOBK版本: 10.4(更新到20120824) GMT版本:4.5.1(通过 apt-get install gmt 安装的) 出现的问题文中开头所述,问题原因是存在旧的配置文件,解决思路指定正确的配置文件。 具体解决方法: 1、在GAMIT解算完后生成的DOY目录下,按 “Ctrl+H”显示隐藏文件,找到“.gmtdefaults4”文件。 2、在任何地方启动终端,输入"gmtdefaults -D ~/.gmtdefaults4" 意思是指定GMT默认配置文件为主文件夹下的.gmtdefaults4文件。 3、将第一步中找到的文件复制到主文件夹下,覆盖原文件。 4、打开主文件夹的.gmtdefaults4文件,设置里面的PAPER_MEDIA= a4,保存即可。 配置完后就不会出现之前的错误了,并且绘图成功且美观。如下图: 坐标重复性图: 基线重复性图: wrnm图: 对流层延迟图(总的 Fiexd): 如有问题可以联系交流,E-mail:zhangyong1361@163.com 张勇 2013-01-04
个人分类: GAMIT/GLOBK|5555 次阅读|0 个评论
GAMIT/BLOBK中固定解、浮点解、约束解、松弛解等解类型解释
zhangyong1361 2013-1-1 14:48
在GAMIT/GLOBK的使用过程中,经常会碰到固定解、浮点解、约束解、松弛解及其相关组合解(如约束固定解)等词汇,对于初学者,一时难以弄明白其中的含义,一般只有按部就班按照教程中,怎么说就怎么弄,不明白其中为什么这么做。现将其解的类型分别作一些介绍。 1、固定解(fixed) 固定解指在基线解算过程中,对整周模糊度固定为整数后,回代到方程解算得到的未知参数解(如基线向量、位置坐标、对流层参数等)。在详细解算结果文件(q文件)中,有如下描述 **** Summary of biases-fixed solution **** 该行下面的基线结果即为固定解,也就是结果文件中第二处基线解算结果(一共有两处,第一处为浮点解,后面叙述) 2、浮点解(free) 浮点解指的是,在基线解算过程中,没有对模糊度进行固定为整数,而是直接使用最小二次解算得到的浮点结果,同时得到的未知参数解。在详细解算结果文件(q文件)中,有如下描述 **** Summary of biases-free solution **** 该行下面的基线结果即为浮点解,也就是结果文件中第一处基线解算结果。 总结固定解与浮点解,GAMIT软件生成含有基线的结果文件共有4个,如(oscala.034、oscalp.034、qscala.034、qscalp.034),其中q开头的是详细结果文件,o开头的简要结果文件,其实他们两类的文件内容是一样的,只是详细与概略的差异,另外a结尾的是验后结果,p结尾的是先验结果(这里说明下,因为GAMIT软件默认情况下实际上解算是算了两遍,第一遍的结果作为第二遍的先验值),我们一般用验后的结果,所以要获取基线解算结果,我们选取oscala.034或者qscala.034文件,其中两个文件中第一处的基线解算结果为浮点解(free),第二处基线解算结果为固定解(fixed)。至于什么时候用浮点解什么时候用固定解,这里不作详细解算,可以参考相关文献,但一般情况下采用固定解,即提取结果文件中的第二处基线结果。 3、约束解(constraints) GAMIT软件的主要目的是解算基线,如果只需要使用基线结果,那么只要分清固定解与浮点解就OK了,在继续使用GLOBK软件进行计算点位时就要搞清以下概念。约束解是针对平差来讲的,对观测值进行一定约束,即加入已知点,已知边等已知条件,得到约束条件下的结果。 4、松弛解(loose) 松弛解,即为无约束平差,不对观测值进行约束,而是采用无约束平差(自由网平差)得到解。 总结约束解和松弛解,GAMIT软件生成的结果文件中要被GLOBK软件处理的是h文件,GLOBK软件时采用卡尔曼滤波解算参数,该软件不对基线进行解算,而是对位置点的点位坐标进行解算。故GAMIT软件生成的h文件中都是点的信息(这个可以自己去查看),其点坐标是GAMIT利用生成的基线数据通过平差得到的坐标,GAMIT中SOLVE模块默认生成的无约束固定解(glx)及无约束 浮点解(glr),其中(l=loose x=fiexed r=free),glx与glr文件在使用Globk的htoglb模块才会生成。在h文件中有如下信息表是fixed及free的结果 keys: DEFLT FULL DBLE LC NOION NOATM FREE STN NOORB ZEN NOCLK GLR NOEOP GRD(其中FREE) keys: DEFLT FULL DBLE LC NOION NOATM FIXED STN NOORB ZEN NOCLK GLX NOEOP GRD(其中FIXED) 在GLOBK中一般使用glx或者glr为起算数据,即使用GAMIT的无约束解,这是因为如果GAMIT采用了约束解那么会对GLOBK的解算带来一定的麻烦,所以采用很松的解(点精度大约为10m,卫星大约为100m)然后再使用GLOBK过程中对其进行卡尔曼滤波约束,得到结果最终的结果。 GLOBK解算过程也分为无约束和约束,结果文件为*.prt(无约束)与*.org文件(约束),无约束是调用globk模块解算得到的结果,约束时调用glorg模块对无约束结果进行旋转平移缩放,纳入约束条件中。在此特别说明,使用GLOBK时可以采用sh_glred命令自动处理,会自动调用htoglb、glred、globk、glorg等模块自动生成*.glx、*.glr、*.prg、*.org文件就重复性图。并 且GLOBK默认采用*.glx结果,可以再org与prt文件中看到: OUTGLOBAL file : H000205_scal.GLX 说明采用了glx文件。 通过上面的解释,解释清了4中基本解类型。 如有疑问,或发现本文中的错误,欢迎指正,联系方式E-mail: zhangyong1361@163.com 张勇 2013-01-01
个人分类: GAMIT/GLOBK|11739 次阅读|0 个评论
批量复制GAMIT的结果文件O文件至指定目录
zhangyong1361 2012-12-31 21:16
批量复制GAMIT的结果文件O文件至指定目录
利用GAMIT解算完数据后,往往要利用其结果文件o文件进行基线重复性检验,如果天数少,受到把o文件复制出来到指定目录便可,如果用于大量的数据,如1年的,那么手动复制便不大现实,可采用bash语言编程自动提取o文件,复制到指定目录下。 代码如下:(不是本文保密,传图片,是因为复制源代码,网页编辑器会解析代码,显示会出错,如需要源码,按下面邮箱联系本人) 新建一个空白文件,把代码复制粘贴后保存名为 “o”,(取名o是为了后面执行输入方便) 然后配置其中的参数 expt= js10 输入自己的工程名,用于生成复制o文件的目标文件夹 doy=100 开始的年积日 ndays= 11 持续天数 然后在工程文件夹下执行 “bash o” 会把每个单日解文件夹下的 o文件(a结尾的--验后估计)复制到 oexpt(注:此处expt为上面输入的工程名)目录中。 代码为本人所写,因本人能力有限,不足之处望指教。邮箱:zhangyong1361@qq.com 张勇 2012-12-31
个人分类: GAMIT/GLOBK|4709 次阅读|0 个评论
ubuntu10.04 LTS 安装GAMIT/GLOBK步骤(Bash环境配)本文亲自总结
zhangyong1361 2012-12-31 20:11
ubuntu10.04 LTS 安装GAMIT/GLOBK步骤(Bash环境配)本文亲自总结
GAMIT/GLOBK软件(以下简称GAMIT)的由来与应用,在这里就不用多介绍了。相信准备GAMIT的各位对该软件应该具有一定的了解了。下面言归正传,叙述在ubuntu10.04LTS版上安装GAMIT的步骤,为什么采用10.04LTS版本,因为该版本对于GAMIT来说比较合适,特别说明,以下均在root用户下安装。 1、编译器问题 GAMIT软件推荐使用4.2以上的gcc及gfortran编译器(4.3除外,据相关资料介绍,该版本编译器有问题,会导致GAMIT编译失败,另外用4.6版本的编译器时,需要修改GAMIT的源码参数, 繁琐故不推荐),在这里作者推荐使用4.2或者4.4版本的编译器。Ubuntu10.04LTS版,默认编译器版本的4.4.3,但是没有安装gfortran编译器,所以要自己安装gfortran编译器。在终端中输入 : apt-get install gfortran 便会自动安装该系统版本的最新版gfortran,如果想使用4.2版本的gcc及gforrtan编译器,参考相关治疗下载安装4.2编译器,并配置默认编译器版本为4.2版。 2、libx11-dev软件包安装 libx11-dev是X11(X Window)的客户库(X11 client- side library)。该软件包包含了全部的X11应用编程接口(API)基本函数。其中,libX11.a和Xlib.h是 GAMIT/GLOBK所必须依赖的两个库文件,主要是为Globk的提供图形库支持。Ubuntu的默认配置不包含该软件包, 故需要用户自己安装,在终端中输入: apt-get install libx11-dev 便会自动下载安装libx11-dev软件及其相关附件。 3、SHELL安装 GAMIT软件的相关命令是在csh或tcsh下运行的,而Ubuntu默认的是bash,故要下载csh及tcsh,有相关安装说明中降到需要把系统的默认SHELL改为csh或者tcsh,但是本人认为那样并不是完美的,在系统默认的bash下也可以运行GAMIT的软件(前提是安装了csh tcsh且在bash中加入GAMIT途径,增加途径这个后面在叙述),而且bash默认支持上下键命令回滚、文件类型分色区分等,csh及tcsh要进行相关繁琐的手动配置才能实现上述功能,且对于新手一时难以配置成功,故建议直接采用bash,不用修改系统的SHELL模式。在这里只要安装csh tcsh即可。输入如下命令安装csh、tcsh。 apt-get install csh apt-get install tcsh 安装完即可。 4、FTP软件安装 GAMIT软件有自动从FTP服务器下载数据的功能,此功能需要FTP软件的支持,GAMIT软件支持NCFTP和WGET两种FTP软件,Ubuntu自带了WGET,但没有预装NCFTP。如果你想使用NCFTP(如在sh_get_rinex命令中增加选项 -ftp_prog ncftp ), 则需要安装ncftp软件,在终端中输入: apt-get install ncftp 自动安装完即可,无需任何配置。 5、awk tail ls gzip gunzip等软件 这类软件ubuntu默认已经安装了,就不用管他了。如果在日后充分熟悉了GAMIT及Ubuntu系统后,可以查看这些软件的用处及不同版本的异同。对于初学者可忽略此处。 6、GMT及NETCDF软件安装 GAMIT软件计算完后可以调用相应的命令进行绘图,该绘图命令是基于GMT和NETCDF实现的。GMT及NETCDF软件的安装方式有两种:第一种,是自己下载GMT 及NETCDF软件自己进行编译配置,这个比较繁琐不利于初学者,此处不推荐,等日后熟悉了可以参考相关资料安装。第二种,是利用apt-get命令进行安装,在终端中输入: apt-get install gmt 便会自动下载安装gmt及netcdf,此处安装的精简版的,但已经满足GAMIT的需要。 以上6大步骤是安装GAMIT软件之前的系统配置,安装代码如下(安装顺序随意) apt-get install gfortran apt-get install csh apt-get install tcsh apt-get install libx11-dev apt-get install ncftp apt-get install gmt 下面就是正式安装GAMIT软件。 7、正式安装GAMIT/GLOBK软件 在OPT目录下新建名为 gamit 的目录,(目录名可以根据自己习惯定),将按转包解压后里面的文件全部复制到所建的文件夹下。在终端中 用 cd 命令进入gamit目录。输入 chmod +x install_software 跟GAMIT安装脚本赋予可执行权限,然后输入 ./install_software 便会自动安装,然后根据提示,基本就一路NEXT了,GAMIT安装中其实是一路 'y' 加回车。 如果gamit目录下有升级包,安装过程中会提示是否应用更新包,如 Do you want to apply incremental updates: incremental_updates.080812.tar.Z incremental_updates.080919.tar.Z incremental_updates.081022.tar.Z Continue ? (y/n) 一路 'y'即可。安装到最后,会提示 ++++++++++++++++++ GLOBK installed ++++++++++++++++++ Create the gg link in your home directory to the version of gamit/globk you just installed ? (y/n) 意思是安装成功,是否在主文件夹下生成gg链接,此处输入 y ,因为gamit运行时是从主文件夹下gg链接进入gamit软件的tables目录中链接文件的。输入y后,会提示 Don't forget to set your : path to include /opt/gamit/gamit/bin and /opt/gamit/kf/bin : HELP_DIR environment variable in you shell profile (in .cshrc/.tcshrc add: setenv HELP_DIR /opt/gamit/help/) : INSTITUTE evnironment variable in your shell profile (in your .cshrc/.tcshrc add: setenv INSTITUTE where_i_work) where_i_work is a 3 character identifier for your solutions 此处的意思是,需要再shell配置文件中把GAMIT的可执行文件目录添加进系统途径中,这样才能在终端中调用。显示的内容是让配置csh或者tcsh,但本文建议配置bash,原因上面叙述了。 8、GAMIT软件配置 其他安装说明建议建议在主文件夹下配置.bashrc文件(说明在ubuntu系统下.开头的文件是隐藏文件,用Ctrl+H键来显示隐藏文件),该文件是针对当前用户的SHELL生效的,如果用户在root下安装了gamit,但是想在其他用户下(如一般在管理员用户下运行)则还需要再相应的用户下再次配置该用户的.bashrc文件,故本人建议配置/etc/bash.bashrc文件,该文件对于任何用户都有效,无需重复配置,配置一次就对所有用户生效。 打开bash.bashrc文件在其最后面添加如下:(说明,如果配置.bashrc文件也是在其下面添加如下代码,下面是截的图,贴源码时,网页会自动解析代码,显示错误) 配置完后,在root用户下的安装与配置便完成了,在其他用户下还要稍微配置下后面叙述。 9、 GAMIT 测试 在终端中输入 doy 显示相关doy命令的提示便说明安装成功,测试安装的gamit是否正常运行,可以参考gamit安装目录下example下的README文件进行实验,或者计算自己的项目文件。 10、其他用户下配置 退出root用户,进入自己使用的用户,进入该用户的主文件夹,建立gg链接到gamit的安装目录,在终端中进入主文件夹,输入: sudo ln -s /opt/gamit gg (注意现在是非root下,运行和权限相关的命令需要添加sudo) 将gamit链接到主文件夹下的gg链接,(为什么要这样做,上文说了,gamit链接文件是从gg中进入的,root下在安装过程中提示你,已经生成了,但是其他用户需要自己链接)。链接完后,会发现gg文件夹上有一把锁,说明该用户对其无使用权限,需要对gamit安装的文件进行权限解除,进入到/opt 下,输入 sudo chmod 777 gamit 对gamit主目录进行解锁,另外还有对其所有的文件进行解锁,进入gamit目录,输入 sudo chmod 777 * -R 对所有的gamit进行解锁,解锁完成后,会发现gg文件夹上的锁没了,说明解锁成功。此时在终端中输入 doy 显示提示便说明成功,如果不解锁,会提示权限问题。 以上步骤为本人安装gamit的步骤(为了彻底搞清楚GAMIT的安装与为什么这样配置安装环境,及相关影响,本人安装GAMIT数十次,重装不同ubuntu系统达十几次),使用时有问题可以联系本人 E-mail: zhangyong1361@163.com 张勇 2012-12-31
个人分类: GAMIT/GLOBK|5976 次阅读|0 个评论
sh_get_ion脚本修正
zhoufcumt 2012-10-14 11:17
GAMIT的sh_get_ion脚本有点bug,如果是多天下载的话,只能下载最后一天的,因此将脚本重新改了下,可以正确运行下载多天IONEX数据。 附改正后脚本: sh_get_ion
个人分类: Gamit|3176 次阅读|0 个评论
GAMIT使用小结
热度 1 huhnglvkrh 2012-7-8 14:25
最近学习gamit,整理出部分步骤和一些注意事项,处理学院楼顶CORS数据,对比了一下别人处理的和徐州测绘局处理的结果,居然差不多,甚感欣慰。
3593 次阅读|4 个评论
分别输出年月日的C shell脚本
zhoufcumt 2011-11-4 07:45
最近想写一个批量下载ftp数据的文件,但上面的文件是诸如2010-01-10.类似这样开头的文件,有点头疼,因此,首先要解决分别输出年月日的脚本,通过借鉴gamit的脚本,提出来三种解决方案,把此问题已经解决,但第三种的cut解决方案待解决,希望把cut方案解决的朋友发给我下,脚本如下: #!/bin/tcsh -f #取日期2010-01-10为例 #输出结果为:2010/01/10 set ymds = `doy 2010 010 | tail -n -3 | head -n 1 | awk '{printf $2}'` echo $ymds #第一种解决方案 #输出结果为年:2010 set year = `doy 2010 010 | tail -n -3 | head -n 1 | awk '{printf "%04d \n", $2}'` #输出结果为月:01 set month = `doy 2010 010 | tail -n -3 | head -n 1 | awk '{printf "%2s \n", substr($2,6,2)}'` echo " " echo $month #输出结果为日:10 set day = `doy 2010 010 | tail -n -3 | head -n 1 | awk '{printf "%2s \n", substr($2,9,2)}'` echo " " echo $day #第二种解决方案 #输出结果为:2010 01 10 set ymd = `doy 2010 010 | tail -n -3 | head -n 1 | awk '{print $2}' | awk -F"/" '{print $1, $2, $3}'` echo " " echo $ymd #输出结果为年:2010 echo " " echo $ymd echo " " #输出结果为月:01 echo $ymd echo " " #输出结果为日:10 echo $ymd echo " " #第三种方案:cut解决,待解决 其中脚本中用到了gamit的doy模块,因此要事先装gamit软件,为了方便起见,读者也可以自己编一个时间转换的模块,供自己的脚本调用。
个人分类: Shell|4059 次阅读|0 个评论
[转载]关于gamit Makefile.config的修改
热度 1 zhoufcumt 2011-10-21 15:31
from: http://blog.sina.com.cn/s/blog_491b86bf0100xf29.html 最近在处理数据的时候,由于站点比较多,我修改了一下Makfile.config里面的一些数据 原始: MAXSIT 55 //最大测站数 MAXSAT 32 //最大卫星颗数 MAXATM 13 //最大参数 MAXEPC 2880 //最大历元数 1)将“55” 改成1000然后进行编译,发现编译会出现问题,终止。 2)将MAXSIT改回55,将最大历元数改成86400,编译,不通过,终止。 进行反复的实验,当MAXSIT设置成200可以编译通过。MAXEPC设置成17280可以通过。 后来发邮件问Mr King,King回信说MAXSIT最大值为99,每增加一个测站,其CPU运行时间是以3次方增加的(如果CPU不好的话不要去尝试大批量的东西)。 目前采用MAXSIT=99,MAXEPC=17280的设置(即可以处理5S的数据)。
个人分类: Gamit|2456 次阅读|1 个评论
安装gamit新问题啊,有木有人帮忙看下?
热度 1 HL2004 2011-9-8 19:16
我下载gamit成功之后,按照网上人员的提示,准备将其复制到opt目录下时,总是提示权限不够。后来不知怎么权限够了,让我复制进去了,但是却又发现cd /opt/gamit_globk/gamit10.4时仍然提示权限不够,好像网上的其他人都没与碰到过这样的问题,我不知该如何解决?请高手相助
4840 次阅读|1 个评论
下载gamit失败,怎么回事?
热度 1 HL2004 2011-9-6 16:38
这段时间在学习linux,感觉这个系统太强大了,深刻的体会是刚来北京时,我的鼠标何键盘在windows下莫名其妙不能用了,但是在linux下运行正常,当时出于对windows的热爱和linux的畏惧,想尽一切办法来解决这个问题,但是由于输入输出设备无法使用,唯一能做的就是开关机,以及在grub时选择操作系统,后来一狠心就重装了系统(哎,貌似好多次到了最后都只能用这个方法来解决问题)。 然后在linux下学习了简单的桌面软件操作,逐渐的习惯了linux 的图形输入窗口,慢慢的感受到了他的强大,发现这个操作系统太好了,很明显的就是几个硬件上的问题,譬如上次的输入输出设备不能使用,以及这次莫名其妙的windows下没有声音,这样的问题linux 下都没有,而且操作起来非常方便。 想着在中科院这边这么好的学习条件一定要珍惜啊,所以想着好好搞搞学习,想早点把gamit下下来开始正式步入学习之中,结果发现自己登录上了mit的ftp服务器,系统显示 230 login successful remote system type is UNIX Using binary mode to transfer files 终端的显示如下: ftp 然后我就不知道怎么下载,不知该输入什么,该怎么办,我尝试着输入命令:cd updates 系统反应为550 Failed to change directory 再把这个命令输一遍,得到的提示为250 Directory successfully changed 但是文件还是没有开始传输啊,怎么回事?求高人指点
5816 次阅读|2 个评论
学习bernese还是gamit,纠结
热度 4 HL2004 2011-8-2 09:54
两者都是高精度GPS数据处理软件,都能解算出天顶对流层延迟,都能满足GPS 气象学的要求,但是两者又有着诸多的差异,也就是这些差异让我纠结于到底学习哪个软件?时间和精力有限,我应该只能学习一种,很难把两种软件全给学精了呀。 GAMIT/GLOBK软件是由MIT(美国麻省理工大学)和SIO(加州大学胜地亚哥分校海洋研究所)共同研制的基于UNIX操作系统的GPS数据处置软件,可以估算卫星轨道和地面测站的三维相对位置。它不但精度高而且开放源代码,应用者可以依据须要进行源程序的修改,现在已被国内外大量的高校和科研单位用于高精度大尺度的相对定位和地球动力学研究。它可以估量卫星轨道和地面测站的三维相对位置。GAMIT软件处置双差观测量,采用最小二乘算法进行参数估量。GLOBK是一个卡尔曼滤波器,其首要目标是综合空间大地测量和经典大地测量的初步处置成果完成数据的后处置。因而它的输入一般是一些准观测量如测站坐标、地球自转参数、卫星轨道及它们的方差-协方差。 Bernese软件是由瑞士伯尔尼大学天文研究所研制的GPS数据(包含GLONASS数据、GPS和GLONASS混合数据、SLR数据)软件。Bernese软件既可以用非差办法进行严密单点定位,又可用双差办法进行整网平差。而且它能对GPS数据和GLONASS数据同时处置。其中BPE具有自动处置功能且满足高精度定位作用。首要针对大学、研究机构和高精度的国家测绘机构等用户,界面友好,模块条理清晰。Bernese软件既能进行严密单点定位又能进行基线解算,关于大观测量的数据解算来说,具有运算速度快、质量优的特色。该软件不仅能在windows系统中操作,而且也适合于LINUX和MACOS系统。 1、bernese是付费软件,并且价格昂贵,而gamit则是开源软件,所以的代码都可以获取并任意修改 2、bernese可以在windows下跑,且操作界面更加友好,而gamit只能在linux下跑,学习gamit的任务比学习bernese的任务要重 3、凡是gamit能做的东西bernese都能做,但是bernese能做的gamit不一定能做,如精密单点定位 4、在中国,gamit的用户群体比bernese更大,学习时查找资料更加方便 5、Gamit只能分析GPS数据,Bernese还可以分析GLONASS数据 6、Gamit软件的一次解算过程只能处理双频观测数据或者单频观测数据,即不能同时进行双频和单频观测数据的混合解算,而Bernese软件却可以进行单频和双频数据的混合解算 7、应用Bernese软件还可以进行双频接受机对单频接收机的电离层延迟订正的研究工作 8、Bernese该软件大约由1000个数据处理程序和100个菜单程序组成,包括1000个子程序和函数,其程序语言主要是FORTRAN 77、Perl等,个别程序用FORTRAN 90编写。 1.卫星精密定轨;   2.测站坐标解算;   3.地球定向参数估计;   4.太阳光压参数估计;   5.对流层天顶延迟估计,进行大气和气象研究;   6.GPS 精密钟差估计。 9、GAMIT软件主要功能和特点如下:   (1) 卫星轨道和地球自转参数估计;   (2) 地面测站的相对定位计算;   (3) 用模型改正各种地球物理效应(极移、岁差、章动、潮汐等);   (4) 对流层天顶延迟参数和大气水平梯度参数估计;   (5) 支持接收机天线相位中心的ELEV(随卫星高度角变化)模型改正;   (6) 可选观测值等权、反比于基线长度或随高度角定权;   (7) 同时提供载波相位整周模糊度分别为实数和整数的约束解及松弛解;   (8) 数据编辑可人工干预(CVIEW),也可自动处理(AUTCLN)。 哎,到底学那个软件发展更好些呢?目前还在纠结,朋友们给点意见吧,我个人目前倾向于先学bernese,因为linux操作系统不是很熟悉,学习任务太重了怕自己承受不了。
13242 次阅读|7 个评论
[转载]常见GPS高精度数据处理软件介绍
HL2004 2011-8-1 19:37
GPS数据处理是GPS研究的一个重要内容。目前,国际上广泛使用的GPS相对定位软件有:美国麻省理工学院(MIT)和加州大学圣地亚哥分校Scripps海洋研究所(SIO)研制的GAMIT/GLOBK,美国喷气推进实验室(JPL)研制的GIPSY/OASIS软件和瑞士BERNE大学研制的Bernese软件。选用一种好的数据处理方法和软件对GPS数据结果影响很大。在GPS静态定位领域中,几十公里以下的定位应用已经比较成熟,接收机的随机附带软件已经能够满足大多数的应用需要。但是在GPS卫星定轨以及长距离、大面积的定位应用中,如洲际板块运动监测及会战联测中,这些随机附带软件就远远不能达到要求。 近年来,GPS定位理论和软件科学的发展促进了GPS定位软件的研发,一批满足不同应用需求的GPS定位软件亦已面世。尽管不同软件在数据处理方法上各有其特点,但它们的总体结构基本上是一致的,即由数据准备、轨道计算、模型改正、数据编辑和参数估计5部分组成。 数据准备:RINREX格式的数据转换为软件特有的数据格式;剔除一些不正常的观测值(如缺伪距或某个相位数据);根据测站的先验坐标、星历和伪距数据确定站钟偏差的先验值或站钟偏差多项式拟合系数的先验值。 轨道计算:将广播星历或精密星历改成标准轨道;如果需要改进轨道,则进行轨道积分,将卫星坐标及坐标对初始条件和其他待估参数的偏导写成列表形式。 模型改正:对观测值进行各种误差模型改正(对流层折射、潮汐、自转等)得到理论值及一阶偏导,从观测值中扣除这些理论值得到相应的验前观测残差。 数据编辑:修正相位观测值的周跳,剔除粗差。 参数估计:采用最小二乘或卡尔曼滤波估计,由编辑干净的非差观测值或双差观测值求解测站坐标、相位模糊度、(如果采用定轨或轨道松弛)卫星轨道改正值、地球自转和对流层湿分量天顶延迟等参数。 GAMIT/GLOBK GAMIT/GLOBK软件是MIT和SIO研制的GPS综合分析软件包,可以估计卫星轨道和地面测站的三维相对位置。软件设计基于支持X-Windows的UNIX系统,现在的版本适用于Sun(OS/4,Solaris 2)、HP、IBM/RISC、DEC和基于、Intel工作站的LINUX操作系统。作为科研软件,GAMIT/GLOBK供研究和教育部门无偿使用,只需通过正式途径得到使用许可证。完全的开放性使用户可以对软件的工作原理、数据处理流程及技巧有全面的了解,这也在一定程度上促进了GAMIT/GLOBK的不断更新。 GAMIT软件处理双差观测量,采用最小二乘算法进行参数估计。采用双差观测量的优点是可以完全消除卫星钟差和接收机钟差的影响,同时也可以明显减弱诸如轨道误差、大气折射误差等系统性误差的影响。GAMIT软件主要功能和特点如下: (1) 卫星轨道和地球自转参数估计; (2) 地面测站的相对定位计算; (3) 用模型改正各种地球物理效应(极移、岁差、章动、潮汐等); (4) 对流层天顶延迟参数和大气水平梯度参数估计; (5) 支持接收机天线相位中心的ELEV(随卫星高度角变化)模型改正; (6) 可选观测值等权、反比于基线长度或随高度角定权; (7) 同时提供载波相位整周模糊度分别为实数和整数的约束解及松弛解; (8) 数据编辑可人工干预(CVIEW),也可自动处理(AUTCLN)。 用GAMIT估计对流层天顶延迟参数和大气水平梯度参数,通常采用线性分段模型,根据观测时间和区域自主确定参数个数。如果测站间隔较近,估计得到的参数间的相关性会非常大,由此降低了应用于气象学研究的可靠性。这是所有相对定位软件的共同局限。 关于观测值定权,软件推荐的是随高度角定权的方法,关系式表示为rms=a*a+b*b/(elev*elev) (mm),具体操作中a和b可采用缺省设置,也可以在等权解算结果的基础上,利用AUTCLN通过对观测值的残差分析拟合得到。很显然,通过残差拟合a和b是以增加计算时间为代价的。可以通过处理少数几天的观测数据,获取每个站a和b的平均值作为这个站的缺省值, 潮汐模型中最复杂的是海潮部分,其模型改正直接在GPS数据处理软件中完成非常困难。GAMIT采用的方法是直接从文件station.oct中读取或通过全球范围的栅格表grid.oct内插得到测站分潮波的振幅和相位即海潮系数。随GAMIT软件包发布的station.oct文件包含了全球465个跟踪站(GPS/SLR/VLBI)的海潮系数,它们主要是采用CRS4.0全球海潮模型得到的,个别站也辅以CRS3.0或其他模型。在具体操作中,测站如果距station.oct中某个跟踪站的距离小于10km,则测站的海潮系数就直接取用这个跟踪站的,否则就需要通过grid.oct内插。但一些实际的数据处理结果表明,直接利用随GAMIT软件包发布的station.oct对中国大陆的测站进行海潮改正的效果并不理想。这可能是由海潮模型及station.oct文件中跟踪站分布的局限性造成的。 GAMIT软件处理GPS数据的过程非常复杂,但就近几年的卫星状况和接收机的状况,数据筛选和编辑完全可由数据自动编辑模块AUTCLN完成。FIXDRV模块将数据处理部分的工作集为一体,使数据处理变得简单易行。从2000年起随软件包一起提供的一个由C-shell写成的程序sh-gamit更是将繁琐的数据准备和处理工作集成化,只要在RINEX格式的观测文件中给定正确的相关信息即可。 GLOBK是一个卡尔曼滤波器,其主要目的是综合空间大地测量和经典大地测量的初步处理结果完成数据的后处理。因此它的输入一般是一些准观测量如测站坐标、地球自转参数、卫星轨道及它们的方差-协方差。虽然最初发展GLOBK是作为GAMIT和CALC/SOLVE(VLBI的数据处理软件)结合的一个界面,但现已可以接受其他GPS数据处理软件如GIPSY和Bernese产出的结果及经典大地测量和SLR观测数据。GLOBK三个主要的应用是: (1) 结合一个观测作业期内不同时段(例如不同天)的初步处理结果,获取该观测作业期的测站坐标最佳估值。对GPS分析,轨道参数可作随机参数处理; (2) 结合不同年份获取的测站坐标结果估计测站的速度; (3) 将测站坐标作为随机参数,生成每个时段或每个观测作业期的坐标结果以评估观测质量; GLOBK是一个复杂且又非常灵活的应用软件,包含又许多控制命令,每个命令完成一个功能,不同的命令组合实现不同的应用。 GIPSY软件 GIPSY软件是美国JPL研制的GPS数据处理软件。无疑,JPL在空间技术的许多方面,当然也包括在GPS整个系统与软件技术方面均有不可比拟的条件和领先性。GIPSY用FORTRAN与C语言等编写而成,目前主要有UNIX和LINUX版本。GIPSY主要通过脚本程序实现程序的自动化处理,很多情况下可通过简单的窗口操作运行。GIPSY软件是有限制的自由软件,但不包括源代码。 GIPSY软件是基于VLBI数据分析软件而开发的,在数据分析中,不取载波相位数据的双差,而是直接处理载波非差观测量,这是GIPSY的一大特色。在非差处理模式中,卫星钟差和接收机钟差被视为具有白噪声性质的平稳随机过程直接估算。非差处理模式不仅使精密的单点定位成为可能,而且观测值的个数较双差多,这对于现在我们一般施测的高密度区域来说并没有什么显著影响,但对大且测点稀疏的GPS网则意义重大。但采用非差观测量也存在着明显的不利之处: 1. 因为非差观测量不能像双差观测量那样消除或减弱许多共同误差源的影响,特别是星钟和站钟,从而使可靠及自动地探测粗差和周跳变得非常困难; 2. 增加了待估参数(卫星钟差和接收机钟差)。 Blewitt(1991)提出了Turbo-Edit算法用于编辑非差数据,但Turbo-Edit算法需要利用双频的码观测和相位观测,而且数据编辑的质量在很大程度上取决于码观测的质量。GIPSY软件在数据编辑方面采取的策略是在Turbo-Edit算法之外,又引入了主要依赖相位数据的Phase-Edit算法,以弥补Turbo-Edit算法的不足。 GIPSY的另一个特色是参数估计采用卡尔曼滤波的方法,其核心是一个均方根信号滤波的序贯估计算法。该算法对数据有过滤作用,能进一步剔除被污染的数据,保证了最终结果的可靠性。此外,卡尔曼滤波的参数估计法还具有数值运算稳定,随机量设置灵活的特点,但CPU的占用时间较最小二乘算法多2~3倍。 GIPSY采用的处理模式和参数估计方法虽然完全不同于GAMIT,但在功能上具有可比性: (1) 用白噪声模拟时钟钟差,提供精密单点定位; (2) 多点联合处理,估计测站在全球坐标系下的位置,生成无基准解; (3) 两种轨道计算模式;固定轨道和松弛轨道; (4) 模拟改正所有已知的地球物理效应,包括极移、岁差、章动及各种潮汐; (5) 采用顾及光线弯曲和地球曲率的对流层延迟模型,将天顶延迟和大气梯度作为漫步式的随机过程加以估计; (6) 求解相位整周模糊度。 虽然GIPSY采用非差模式用相位观测量作单点精密定位,但在解算整周模糊度时仍需要采用双差,因此也需要多点,至少2个点联合处理。此外,钟差模拟估计也需要一个高精度的站钟做参考钟。 与GAMIT软件相比,GIPSY软件的优势,除上面提到的非差处理模式的优势外,还体现在 1.数据处理时间只随观测点数线性增长; 2.检查验后残差中是否存在周跳比较直观、简单,很容易判别不佳结果的原因所在。 Bernes软件 瑞士BERNE大学研制的Bernese软件包由数十个独立的程序组成,各个程序通过文件被有机的结合起来。主体源程序由FORTRAN写成,适用于多种计算平台。Bernese为非自由软件,它的每一次升级都是功能方面的一次大的提高或完善。 Bernese软件的功能非常强大,定位、定轨、估计地球自转参数,对各种有效改善定位/定轨精度的方法广泛吸纳。Bernese 4.2版基于1996年发布的4.0版,改进了对流层模型及随机参数估计,提供了观测值依高度角定权的选择。在双差处理模式的基础上增加了非差处理模式,进一步完善了一些工具模块。可以说,Bernese软件4.2版集GAMIT和GIPSY的功能与特点于一体,是目前功能最完善的GPS定位软件。 此外,Bernese还具有下列独特的功能: (1) 处理卫星的SLR观测数据; (2) 处理GLONASS卫星数据; (3) 估计接收机天线的相位中心偏差及变化。 目前已有多种可以同时接收GPS卫星和GLONASS卫星信号的接收机投入市场,例如Ashtech公司的GG24和Z18,TSP公司的Javad Legacy GGD等。但由于GLONASS系统在轨卫星有限,且用于精密定位并不比GPS系统更具优越性,因此并没有得到广泛的实际应用。Bernese纳入GLONASS观测处理,主要是为了研究不同卫星信号、不同参考框架和不同时间尺度的数据处理的方法,积累同时应用两种不同卫星导航系统的经验。 利用GPS数据估计接收机天线相位中心的偏差及变化,较在实验室内标定工序简单,但其缺点是只能估计不同天线类型间的相对值,因此,至少需要一个已知相位中心偏差及变化的天线作为参考天线。 由于Bernese有两种处理模式,支持多种观测量,所以其结构较GAMIT和GIPSY更为复杂,很难给出一个详尽的数据处理流程。此外,尚需要说明的是: (1) Bernese采用的参数估计方法是最小二乘法; (2) Bernese在轨道模型和轨道解算方面极富特色,BERNE大学Beutler等1994年发展的9参数的光压模型至今仍是许多GPS相对定位软件的主打模型,包括GAMIT软件。但目前Bernese采用的光压模型是9参数的ROCK4/42改良模型,并对9参数都考虑掩星效应。这是Bernese在卫星轨道部分与GAMIT的两个不同之处; (3) 由于非差处理模式在探测粗差和周跳方面存在着不足,Bernese推荐的处理模式是双差处理模式; (4) Bernese具有对非同步观测结果进行综合分析(方差估计、位移速率解算)的功能。
5370 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 02:33

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部