GAMIT/GLOBK处理流程

本文内容整理转载自:

1.数据准备

brdc:广播星历文件

sp3:精密星历文件

rinex:观测数据文件

2.tables文件夹表准备

2.1 更新(tables)表文件

更新网址:ftp://garner.ucsd.edu/archive/garner/gamit/tables/

sh_setup -yr 2021 -doy 093

 2.2 制作3个测站相关文件 

(1)测站列表(sites.defoults):

rinex文件来源渠道标注:ftprnx、ftpraw、localrx、xstinfo、xsite

(2)测站信息列表(station.info):

包括:测站编号、测站名、开始观测时间、结束观测时间、天线高、天线测量方法、接收机类型、软硬件版本号、天线类型等信息

生成方式:

sh_upd_stnfo -l sd                     #提取igs站信息生成station.info.new
mv station.info.new station.info       #重命名为所需文件
sh_upd_stnfo -files ../rinex/*.*o      #提取观测o文件的头信息

(3)测站近似坐标文件(lfile.):

越精确结果越好

生成方式(在rinex文件夹内):

sh_rx2apr -site o文件                           #提取头文件中的近似坐标
   - sh_rx2apr -site o文件 -nav n文件           #单点定位svpos
   - sh_rx2apr -site o文件 -nav n文件 -ref 已知坐标测站的o文件 -apr 已知测站坐标的坐标列表文件 
                                               #双差定位svdiff
cat *.apr > lfile.
mv lfile. ../tables/

基线结算后,如果大于先验坐标0.3米,会自动更新(应注意如果不更新是否先验坐标错误)

另:基于lfile.的展点图:

sh_plot_lfile -f lfile. -font 15

 2.3 制作3个处理控制文件 

(1)处理流程设置文件(process.defaults):

指定目录结构、查找rinex数据目录、采样间隔、最小处理文件大小、通知邮件地址、压缩删除文件类型等

目标地址:

Directory path for RINEX archives (search all levels); e.g. /data18/simon
set rnxfnd = "XXXXXX" 

(2)测站精度控制文件(sittbl):

测站的精度控制,高精度的已知坐标强约束(5cm)

待求点坐标松弛约束(10m),用于模糊度解算

(3)处理模型文件(sestbl):

处理时采用的模型等:

— Choice of Experiment = BASELINE

           BASELINE:固定轨道,仅解算坐标

           ORBIT:固定坐标,仅解算轨道

           RELAX:都解算(坐标和轨道)

— Choice of Observable = LC_AUTCLN(控制观测值使用和模糊度值解算)

           LC_AUTCLN

           L1、L2_INDEPENDENT、L1_ONLY、LC_HELP

3.基线批处理解算

(1)命令:

sh_gamit -expt test -gnss G  -s 2020 001 030 -pres ELEV -orbit codm -copt p -dopt b c ao D x K -noftp |tee sh_gamit_test_20200406-2048.log

(2)参数:

- expt:工程名(4个字符)

- d yr days:要处理的日期,年、年积日(如:2017 153 178)

- s yr day1 day2: day1、day2为处理开始和结束的年积日

- netext char:添加后缀<字符>到天目录。如:035r,与-gnss仅能存在一个

- yrext:给天解算目录添加个年前缀。如:2017_053,与-pres冲突,不绘图

- noftp:不连接ftp下载文件

- metutil Z/N:使用天顶静水压延迟(Z)、输出天顶湿延迟和可降水量(默认N)

- pres ELEV:画相位残差图

- gnss G:处理的GNSS系统(G R C E J I)

- orbit igsf:使用的卫星轨道(默认为igsf)

(3)调用程序流程:

① makexp、makex:准备数据

② fixdrv:准别批处理控制文件

③ arc:卫星轨道积分

④ model:计算理论(模型)相位和相对于参数的相位偏导

⑤ autcln:修复周跳、剔除相位粗差、解算宽相模糊度

⑥ solve:利用最小二乘估计参数,解算窄相模糊度、生成GLOBK所需的h文件

(4)初始解算(arc、model、autcln、solve):

- 5分钟采样,模糊度未解决

- 如果坐标调整 >30cm ,更新lfile.文件

- 查看:autcln、prefit.sum、q<expt>a.doy

(5)最终解算(model、autcln、solve):

- 2分钟采样,模糊度解决

- 查看:autcln.post.sum、q<expt>a.doy

如果NRMS值相对于初始解减少30%,那么将重新解算最终解,以保证参数的线性调整(之前的最终解会覆盖)

4.基线处理结果检核

q<expt>a.doy、o<expt>a.doy、h<expt>a.doy

5.GLOBK基本介绍

(1)GLOBK基本介绍:

GLOBK:Global Kalman Filter Analysis Program

- 卡尔曼滤波分析程序(现代平差方法:参数加权、序贯平差、最小二乘配置、卡尔曼滤波......)

GLOBK <std out> <print file> <log file> <exper.list> <command file> <OPTION>

- <std out>:一个数字(如果是6,则输出到屏幕,其他数据输出到文件fort.nn)

- <print file> :包含解信息的输出文件,如果文件存在,则追加写入

- <log file> :包含运行时间和输入协方差文件的拟合chi**2值。如果文件存在,则追加写入

- <exper.list> :需要处理的文件列表(通常采用 ls ../gotex/g*.glc > gotex.gdl 生成,文件应以 .gdl 结尾)

- <command file>:命令文件,控制程序运行的各种参数选项

- <OPTION>:在命令文件中以这个字串开头的命令行,将执行(通常第一个字符不是空格,默认是注释行)

(2)GLOBK的主要用途:

- 坐标重复性分析(glred、每时段解算)

- 合并时段文件,获得平均位置(减少h文件数量)

- 根据平均位置,获得速度

(3)GLOBK文件名规则:

GLOBK可以使用任意的文件名,但遵守以下一些约定:

- htoglb生成的二进制h文件: .glx 是bias fixed,.glr是biasfree(通常不使用)

- 要处理的二进制h文件列表: .gdI

- GLOBK和GLORG命令文件:globk.cmd和glorg.cmd

- Output文件: print文件(无glorg参考框架); .prt (通常不输出);glorg输出.org;log文件.log

- 先验的坐标文件:.apr

- 地震和重命名文件:.eq

- 坐标框架站点(起算点)列表(与source命令一起使用):.stab

(4)GLOBK功能和文件流:

- htoglb:变换GAMIT h文件(如:htesta.20001)到GLOBK h文件(如:h2001011200_testG.glx)

- [h-file list].gdl、globk.cmd、itrf14_comb.apr、itrf14_comb.eq → GLOBK → globk_comb.prt、globk_comb.log、[h-file list].com(binary solution file that can be used in glorg)

- comb.com、glorg.cmd、itrf14_comb.apr、stab_site[list] → GLORG → globk_comb.org

(5)需要准备或提供的:

- source:通用文件(由source命令指定),框架实现站名

- .gdl文件:h文件列表

- 二进制h文件:来自GAMIT的h文件或SINEX格式文件

- apr_file:先验坐标文件

- in_pmu:EOP,可选

- eq_file:地震引起的阶跃,站重命名文件

(6)GLOBK生成:

- .srt、.com、.sol、.svs(除了.sol,其他文件必须在命令文件最开始部分)

(7)输出结果文件:

- 屏幕、log、prt、org和合并的h-file

5.准备平差控制文件

(1)生成二进制h文件(htoglb)(在glbf目录下)

将GAMIT输出的纯文本h文件(或SINEX文件)转换为GLOBK需要的二进制h文件

htoglb [dir] [ephmeris file] <options> <input files ..... >

#例如:要生成2021年第023天的二进制文件,在glbf路径下输入:
htoglb ../glbf ../tables/svs_myexp.svs ../023G/h*a.21023

#例如要生成1993年51-59天的二进制文件,在你的soln路径下输入:
htoglb ../glbf ../tables/svs_myexp.svs ../05[1-9]G/h*a.9305[1-9]

- [dir]:输出文件的目录

- [empheris file]:卫星星历输出的文件名,可以用于输入GLOBK

- <options>通常不用,具体参见帮助

- <input files ...>输入文件的列表

输出文件后缀说明:hyymmddhhmm_XXXX.g[I/c][r/x]

[I/c] 解是松弛(loose)或约束(constrained)

[r/x] biases是自由(free)或固定( fixed)

通常禁用glx

(2)检查并给出文件列表(在gsoln目录下)

第一步:列出需要GLOBK处理的文件

ls ../glbf/h*.glx > [expt].glx.gdl    #[expt]为工程名称

第二步:使用glist进行预处理检查

glist tree.glx.gdl 2021_glist.sum +1 /home/jxb/gg/tables/igs14_comb.eq 2021_tree.gdl

第三步:检查任何错误(例如站名冲突)

(3)GLOBK平差需要的命令文件

平差需要的2个核心关键命令文件:globk.cmd、glorg.cmd

从gg/tables中复制标准的平差需要的命令文件到gsoln目录(在工程目录[expt]中):

sh_glred -cmd

命令文件的格式要求:

- 不同于GAMIT,GAMIT命令文件的注释行,应该是空格;

- GLOBK命令行,第一个字符应该是空格,否则就认为是注释(关键字除外)

命令文件的一般原则:

- 除了调用“option”功能关键字外,所有命令行的第一个字符都应该是空格。除此之外(包含空白行),都视为注释行,被忽略。

- 可以在任何命令行的末尾添加注释,使用字符“!”或“#”作为分隔符。

- 命令行没有先后顺序,除了个别特定的命令行。

- 所有文件可以提供绝对或相对路径,但字符长度限制在128个以内。

- 命令行大小写无关。除了文件名和注释,都将自动转换为大写。

- 可以通过SOURCE命令,调用文件,这个文件包含需要多次使用的命令集合。

参数估计规则:

- 需要在GLOBK中估计的参数,必需使用apr_ xxx命令格式,其中xxx是 参数类型,例如neu、svs、 wob、ut1、 atm等。

- 如果未提及某个参数,那么这个参数就不会出现在解中。但是如果它出现在h文件中(例如,在GAMIT时估计了),那么它在GLOBK解中就是隐含的。例如,如果轨道是在GAMIT中估计了,并且希望在GLOBK时进行约束,那么就应该使用apr_svs。

- 如果先验sigma指定为0,那么这个参数将不会估计。

- 如果需要将先验值作为参数的估值,那么应该使用字符“F”作为其先验sigma。

- 如果需要在glorg中估计的参数,那么在globk中就应该保持松约束。如果rotation或者scale在glorg中没有估计,那么就需要在globk中紧约束。

(4)globk.cmd命令文件介绍

关键字:

- COMB:用于短期组合,优先执行(一定时间长度的重复性)

- VEL:用于计算速度,优先执行

- SCALE:用于计算比例缩放因子

- KEEP:允许glorg单独运行,用于测试

- ITRF-8:应用ITRF08参考框架起算数据等

通配符:

- @(用于替代.gdl文件名)

下面5项命令,如果存在,必须在所有命令之前,否则无效:

- eq_file           ~/gg/tables/igs14_comb.eq(提取自工程/tables/eq_rename,共8个,不含两个未知点)

- com_file       @.com(存储中间过程数据)

- srt_file         @.srt(存储中间过程数据)

- srt_dir          @+1(数据处理的时间顺序,“-1”表示逆序)

- make_svs   @.svs A(生成先验卫星参数值,仅在卫星轨道需要解算时才需要)

另:

- sol_file        @.sol(临时文件,存储协方差矩阵)

- apr_file       ~/gg/tables/igs14_comb.apr(先验的站坐标和速度,和igs14_comb.eq文件要能对应上[重命名的站点],如果存在多个apr文件,站点坐标用最后出现的)

- max_chii 13 3 100(过滤输入的h文件):

max_chii <max chi** 2 Increment> <max prefit difference> <max rotation>

        a)三个参数给出了在组合新h文件时站网的卡方增量、先验参数值的变化、允许的最大旋转值

        b)<max chi* *2 Increment>:合并新的h文件,允许最大的chi* *2增加。

        c)<max prefit difference> :最大坐标差(m)

        d)<max rotation>:先后坐标间的最大旋转角。毫角秒(角度制,miliarcseconds,缩写mas)。对于区域网络,应保持较大的旋转角差值,以避免可能导致数值问题的错误旋转。

- in_pmu ~/gg/tables/pmu.usno [默认不使用]

        a)先验地球自传表

        b)polar motion/UT1系列表

        c)不要在多天h文件中使用先验旋转文件

- app_ptid all

        a)模型改正。支持极潮和大气负荷模型(app_atm)改正。

        b)在globk中应用极潮,或纠正旧版GAMIT可能应用的模型。

        c)对于GAMIT生成的h文件,建议使用该命令。因为globk将从文件头中检测在相位处理中应用的模型并应用适当的更正。

- org_cmd glorg.cmd

        调用glorg

- 打印文件选项:

        a)crt_opt:屏幕输出

        b)prt_opt:向指定的print文件输出

        c)org_opt:glorg输出内容

        

- org_out glred_------.org

        输出文件名。如果未指定,默认用执行命令中的print文件名,加.org后缀,也可具体指定。

- apr_site all 10 10 10 0 0 0

        a)要估计的坐标参数和先验误差。

        b)可以是笛卡尔坐标系的xyz (apr_ site) ,或者NEU (apr_ neu)

        c)单位:坐标是m,速度是m/年

        d)是0,不估计速度。

        e)如果同一个站存在apr_ site 和apr_ neu,则取平方根。

        f)apr_ site bjfs F F F 0 0 0:先验坐标,没有误差。

- 估计地球方位/定向参数(EOP):

        a)松弛约束,便于在glorg中求解旋转参数

        b)apr_wob 10 10 1  1

                pole(wob):x、y,x-dot,y-dot

                单位(毫角秒):mas,mas/day

        c)apr_ut1 10 1

                UT1和它的速率

                单位:mas,mas/day

        d)EOP参数的random-walk variations(随机游走)

                mar_wob 3650 3650 365 365

                mar_ut1 365 365

                单位:mas**2/yr(位移),(mas/day)**2/yr速率

- apr_tran 1 1 1 0 0 0

        对平移参数的先验约束

- apr_ scale 10 0

        缩放参数的先验约束

        单位:parts per billion (ppb),ppb/yr

- apr_svanall F F F

        卫星轨道参数的先验约束。fix antenna offsets to IGS a priori values。

- apr_ atm common 1

        当合并相同历元的多个h文件,估计相同测站的天顶大气延迟。

- free_log -1

        在eq_ file中关闭地震日志估计。

- out_ glb H------_COMB.GLX

        输出合并的h文件。主要用来生成一个二进制的h文件(类似于htoglb的作用),目的是在一个工程中,把所有的h文件合并程单个h文件,用于之后的再处理。

        out_glb com_@.GLX:其中的@代替工程list文件名,例如工程list为jxb_june20.gdl,则输出为com_june20.GLX

        如果利用“+”符号合并一组h文件,那么可以有:out_glb H-----_expt.GLX(采用日期YYMMDD样式替代)。

- del_scra yes

        为可重复性和组合运行删除临时文件。

(5)glorg.cmd命令文件介绍

- 需要估计的参数(用于赫尔默特变换7参数)

        pos_org xtran ytran ztran xrot yrot zrot scale

- 调整用于实现参考框架的坐标稳定性

        stab_ite  <迭代次数>  <测站Relative Weight>  <n-sigma>

        如:stab_it 4 0.8 3.0(0.8:上一次迭代的坐标sigma只允许80%的权重[降权];3.0:剔除站,如果大于3倍sigma)

- 用于定义参考框架的已知坐标文件(可以定义区域已知点)

        apr_file ~gg/tables/igs14_comb.apr

- 指定参考框架的起算点:

        这些起算点必须在apr_file文件中存在;

        首先清除操作(stab_site clear);

        然后给出起算点(stab_site tn11 ncma hayw frkn ncsw scgp ncsh ncnw);

        也可以再另外的文件中指定。

- 起算点的层次结构:

        例如在起算点文件igs14_hierarchy.stab_ site中:

stab_site AREQ/AREV/UNSA

        意味着:如果解中(h文件)AREQ存在,就使用AREQ;否则假如AREV存在,就用AREV,以此类推,最后是UNSA(仅使用其中的1个)。

        如果利用IGS站,首先推荐选择igs14_hierarchy.stab_ site 文件中第一列的站点。

- 计算区域欧拉矢量并应用:

        Estimate rotation(Euler)vectors to be used with sh_org2vel to rotate the solution to a block or region-specific referernce frame;

        plate eurasia kosg_2ps onsa_ 2ps nyal_4ps graz_ 2ps tlse_ 2ps kit3_ 2ps;

        利用欧拉矢量计算站点速度(历元归算);

        预定义了全球主要的板块运动模型。

- 关于速度等效问题:

        一定区域范围(1000公里)的速度分量相同

eq_ dist 1000 ndot
eq_ dist 1000 edot 
eq_ dist 1000 udot

        对于距离较远的站的,使水平速度相同

equate trab_ gps ndot akto_ gps ndot
equate trab_ gps edot akto_ gps edot

6.sh_glred坐标重复性分析

(1)脚本输入:

- glred可以调用globk执行一 次一天的数据处理。而sh_ glred是一个脚本,可以方便地调用连续几天的glred。

- 运行前提:h文件,命令文件(globk.cmd、 glorg.cmd)。

#在工程目录
sh_ glred -cmd
sh_glred -s 2020 001 2020 030 -expt test -netext G -opt R H G T |tee sh_glred_20200502-0712.log
sh_glred -d 2021 023 -expt tree -netext G -opt R H G T |tee sh_glred_20210123-21023.log

R:删除glbf目录中存在的h*.gl?文件

H:运行htoglb,把文本文件转换为二进制文件

G:运行glred,用于合并h文件或者坐标重复性

T:运行tssum和sh_plot_pos绘图(新)

E:运行ensum和sh_ baseline绘图(早前)

(2)用法:

sh_glred -d <yr day> -s <yr1 d1 yr2 d2> -r <day> -ncomb<num> -net<networks> -expt<expt> -sinfo<sinfo> -local -noftp -prt -ftp_prog <ftp/ncftp> -mb -opt<A F H L U G E K C R>

必须(使用下面方法之一,用来指定处理的起止时间):

-s <yr1 d1 yr2 d2>:开始和结束日期,例如-s 2020 153 2020 178

-d <yr day>:处理单天的数据(例如,用于替代一个.org文件),例如-d 2020 153

-r <day>:当前开始日期的之前几天,例如-r 21

可选:

处理选项(至少需要一个):

统计(在gsoln目录):

grep '^POSS' globk*.org

- 起算站点的数量应该是一致的,并且至少与glorg中估计的参数数量相同(例如:旋转和平移各三个参数)

- wrms的数值应该每天基本一致,并且要小(<5毫米)[需要速度值]

7.坐标重复性检核

 

8.约束平差

 

  • 11
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值