zoukankan      html  css  js  c++  java
  • 【转】对GAMIT/GLOBK的基本认识

    1.1   GAMIT/GLOBK软件可从网络上申请下载。该软件功能强大,用途广泛,一般包括精确定位,大气层可降水汽估计和空间电离层变化分析等。后两种用途只需要用到GAMIT模块,精确定位则还需要GLOBK模块。 

    1.2    注意:如果你的目标是得到ITRF下的精确测站坐标,为了达到在GLOBK模块中进行坐标转换的目标,需要引入已知ITRF坐标的站点联合解算。即在gamit模块中将周围稳定的,均匀分布的3个或者以上IGS站点引入。如果不注意这点你将前功尽弃!!!! 


    1.3    在求解坐标的时候,所有GPS处理软件的思想基本上都是一样的,通过基线解算得到测站间的精确相对位置,然后减少其它参数(平差)得到WGS84下的测站坐标(和卫星轨道),最后将坐标转换到某个指定的框架下(后面两步按照大学时老师教TGO的说法就是无约束平差和约束平差)。 


    1.4需要掌握最基本的linux命令和语法。例如ln,ls和>>等。 ln即link,类似于windows的快捷方式。lsb-release –a查看linxu版本号,gcc –v查看gcc版本号。具体语法请看终端的命令帮助。 


    1.5 GAMIT/GLOBK结构。GAMIT/GLOBK安装完成后有几个重要的文件夹:gg/gamit 和gg/kf内小模块是用fortran编写的,分别为基线解算和平差(卡尔曼滤波)两个大功能。gg/com则是用cshell编写的脚本,分别将gamit或kf文件夹内的众多小模块有机的组织起来。gg/tables内包括测站接收机、天线和卫星信息等各种表文件,需要不定期更新。GAMIT/GLOBK是开源软件,允许你自己对软件进行更改,重新编译。 


    1.6 需要注意的更新。 LUNTAB、SOLTAB、NUTABL、LEAP.SEC的内容每年更新一次。UT1、POLE表每周更新一次。至于软件是否需要更新,请关注如下网址上的说明,包括软件改进和bug修正。如果某个模块中的bug已经严重影响到你的计算结果,请下载并重新编译,如果bug存在于lib文件中,则要求下载升级包后重新编译整个软件。http://www-gpsg.mit.edu/~simon/gtgk/down.htm 


    1.7运行过程需要的目录。
    如果使用sh_gamit批处理,至少需要在工程目录下新建rinex,brdc和gfiles三个目录,分别存放你的观测数据o文件,广播星历n文件, 卫星轨道g文件。这样做的目的是把文件归类,最后这些文件都将被link到单天目录中,基线解算最终是在单天目录里运行的。如果你学习分步处理,目录则比 较自由,最后只要保证一点,所有必要的表文件和观测文件等都要link到单天中。 


    1.8   部分模型的说明。 
    (1).otl潮汐改正比较准确和成熟,一般都会使用。 
    (2).有研究认为vmf1映射函数目前是最好的,可比其它映射函数提高7%的重复性(改进的GMF和它近似,两者可选用)。 
    (3).atml大气(非潮汐)荷载模型只对高程方向影响较大,可消除大部分周期性跳动,其可靠性还需要进一步证实,因此应用不广。 
    (4).atl大气潮汐荷载模型和met气象模型是软件中保留的模型,目前(截至2007年7月)尚未开发。 
    (5).现在的GAMIT/GLOBK软件把改正模型中的栅格文件都分离出来,需要到[url=ftp://erverest.mit.edu]ftp://erverest.mit.edu[/url](不需要权限)下载。并做好tables中的各种link。

     
    1.9     与星历有关的四个文件关于brdc文件、sp3文件、g文件和t文件的说明。brdc文件是预报的星历文件,gamit中仅用来拟合卫星钟 差。sp3是事后精密星历文件,每30秒间隔的卫星位置。g文件是根据sp3拟合(积分)的圆形轨道参数文件,t文件是gamit(前三个文件格式是统一通用的,仅t文件是gamit根据自身需要而生成的)根据观测文件和g文件求出的GPS接收机采样时刻的卫星位置。 


    1.10    数据准备中可能用到的资源地址: 
    数据准备中可能用到的资源地址:
    各种星历表文件更新在 http://garner.ucsd.edu/pub/gamit/tables/
    全球igs分布图 http://igscb.jpl.nasa.gov/network/complete.html
    igs站点rinex文件下载 http://garner.ucsd.edu/pub/rinex/
    igs站点广播星历下载 http://garner.ucsd.edu/pub/nav/
    sp3文件下载 http://garner.ucsd.edu/pub/products/
    一个很系统的教程 http://seismo.berkeley.edu/~battag/GAMITwrkshp/wrkshp.html 
    步骤: 
    1.建立目录mywk/tables 和单天目录 mywk/1998353
    2.把rinex格式的观测数据放入单天目录,例如 mhcb3530.98n.Z
    解压uncompress mhcb3530.98n.Z
    doy 命令换算日期和gps周和此周第几天,
    下载精密星历放入单天目录,例如 igs09886.sp3.gz
    解压gunzip igs09886.sp3.gz
    3.在tables目录下运行links.tables J2000 1998,单天353里运行 links.day 1998 353 lake 
    参照.log文件和cvan.dat以及o观测文件 编辑单天里文件station.info的内容,务必准确 ,例如
    *SITE Station Name Session Start Session Stop Ant Ht HtCod Ant N Ant E RcvCod SwVer AntCod FARB FARB 1998 353 0 0 30 1998 354 0 0 0 0.0333 DHBCR 0.0000 0.0000 ASHZ12 8.25 ATDMCC HOPB HOPB 1998 353 0 0 30 1998 354 0 0 0 0.0341 DHBCR 0.0000 0.0000 ASHZ12 8.36 ATDMCC MHCB MHCB 1998 353 0 0 30 1998 354 0 0 0 0.0687 DHBCR 0.0000 0.0000 ASHZ12 8.24 ATDMCC
    4.用sh_rx2apr -site farb3530.97o -nav farb3530.97n生成先验坐标文件lfile.farb farb.apr 
    用sh_rx2apr -site hopb3530.97o -nav hopb3530.97n生成先验坐标文件lfile.hopb hopb.apr 
    把各个l文件的坐标录入到l工程文件
    5.删掉session.info,rm session.info,运行makexp输入工程名、轨道名,都是lake
    6.sh_sp3fit -f igs12481.sp3 -o lake 如果station.info没有指定轨道名,此处需要o 参数 
    sh_check_sess -sess 342 -type gfile -file glake3.342 
    makej farb3420.03n jfarb3.342 生成卫星钟文件 
    sh_check_sess -sess 342 -type jfile -file jfarb3.342 
    makex lake.makex.batch 
    fixdrv dlake3.342 生成所有准备文件
    7.运行批处理csh blake3.bat 
    得到O-file、Q-file 文件以及用于后续GLOBK 软件(运用卡尔曼滤波进行全网整体平差的网平差软件) 所需的 H-file 文件
    注意:为了达到在下一步GLOBK模块中进行坐标转换的目标,需要引入已知点联合解算。例如全部固定到ITRF坐标,需要在gamit模块中将周围稳定的,均匀分布的3个或者以上IGS站点引入联合解算。
    用GLOBK模块进行平差和坐标转换,对于区域网分析,不引入全球解的情况 
    8.建立目录glbf和soln(均与gamit中的单天目录平行), 用htoglb将h解转换成二进制格式,用ls 生成gdl文件,准备好需要的apr文件,globk命令文件和glorg命令文件,并做好命令文件的相关设置。 
    注意: globk命令进行平差,最后得到每天的坐标.prt文件,上述坐标结果是在WGS84下的坐标,其内部几何形很好,但是每天坐标框架的浮动都很大(cm 级的浮动范围下即可求出整周模糊度),需要把每天的解都统一到同一框架中,这就是引入IGS站点的作用。IGS站点在ITRF中的坐标是通过各种技术精确 计算出来的,由某个历元的坐标和运动速度组成。例如在ITRF00框架中,某个IGS站的坐标=给定初始坐标+速度×时间差 glorg命令可以通过IGS站计算出单天解对应的7个(或者3个)转换参数,并且利用转换参数将其他待求点的ITRF坐标求出来。

    9.运行glred命令,它会自动激发globk和glorg。前者命令进行平差,得到每天的坐标.prt文件。后者得到ITRF坐标.org文件。 
    10.现在,用plotcrd把时间序列输出到屏幕吧,发现有粗差后剔除它,或者返回到gamit重新解算这天的基线。 
    11.如果你要的是周解或其他平均解,请在剔除粗差后运行globk命令将单天解联合解算,后续步骤类似上面介绍。

    sh_gamit 批处理 
    1.如不是IGS站,将处理的站信息加入到软件的station.info中,将作为参考转换站的ITRF2000坐标和速度加入到itrf00.apr中 
    2.建立 工程名,其下建立子目录rinex ,brdc ,gfiles.分别放入(或者链接,下同)rinex文件(文件名中站名小写字母),广播星历文件(前四个字符必须是brdc,而不是auto等其它),g文件。 sh_gamit提供了完善的寻找功能,或者工程名下还有sp3文件夹,当找不到某天g文件时,再到sp3里去找,再找不到则从网络上下载,最后下载不成功则提示错误并退出。 
    3.在工程名下运行sh_setup yr 2007 得到一个目录tables. 现在目录为rinex ,brdc, gfiles, tables. 
    编辑tables内的sites.default,所有站均xstinfo,不再用rinex来更新station.info. 在GLOBK中用到(used)的站glrepu,为参考转换(stabilize)的站设置glreps。 
    编辑sittbl.将参考站紧约束0.005 0.005 0.01,区域站松约束100 100 100 
    process.default,sestbl.一般不用编辑。 
    4.运行例如sh_gamit –s 2007 88 102 -orbt lake -expt expt 即可得到2007年88-102天的h单天解。
    sh_glred 批处理检验重复性和求平均解
    1.如果是没有联合全球h文件,则需要自己建立目录gsoln(与单天平行),构建globk_comb.cmd  和glorg_comb.cmd
    2.在工程名下运行命令即可,例如检验重复性sh_glred -s 2007 110 2007 130 -expt haha -opt H G E >!rep.log会得到一个org结果文件和时间序列图。
    3.求平均解 sh_glred -s 2007 110 2007 130 -comb 21 -expt haha -opt H G >!rep.log注意这条命令增加了comb联合多少天的解,没有了E,因为平均解只有一个,不存在画时间序列的说法
  • 相关阅读:
    生产环境之Nginx高可用方案
    MySQL主从同步配置
    SpringBoot整合MyBatisPlus配置动态数据源
    循环有序数组,查找值
    数组任意取三个数中乘积最大值
    多线程输出123以及有序输出1-75
    有序数组取中值
    RocketMQ原理及源码解析
    docker基础常用命令
    项目常用命令
  • 原文地址:https://www.cnblogs.com/xiongyunqi/p/3735927.html
Copyright © 2011-2022 走看看