Gamit Gloness 数据处理 流程
Gloness 数据处理 流程
一、准备文件
1.简述:
在使用Gamit处理数据的前期,需要自己准备文件,准备的文件在目前的处理策略中有:
(1)精密星历文件(sp3文件)(示例文件名如下)
igl17754.sp3 Gloness 精密星历
igs17754.sp3 GPS 精密星历
表示含义:代表第 1775 GPS 周的第 4 天的数据,最后一个数字从 0 开始,代表周日,1代表周一;
(2)导航文件(brdc文件)
brdc1310.18g (18年的第131天的Gloness导航数据)
brdc1310.18n (18年的第131天的GPS的导航数据)
(3)有Gloness的观测数据的IGS站点(o文件)
hkws1210.13o
表示IGS站点名称为 hkws 的 2013 年的第 121 天的观测数据
注意:
1.有的IGS站点是没有 Gloness数据的,因为在以前,由于 IGS 的部分测站没有接收 Gloness 数据的接收机,选择处理测站时,需要小心;
2.需要理解四大全球导航定位系统的每一天的数据在一个IGS站的一个 o 文件中(非独立存在,rinex中
G(美国GPS)
R(俄罗斯Gloness)
C(中国北斗)
E(欧洲伽利略));
在下面的文件中,仔细查看每个测站的详细信息,倍加注意,有的测站的数据可能不全
ftp://ftp.igs.org/pub/station/log/
(4)Gamit 的安装文件夹下面的 tables
(4.1)为什么更新 table?
Gamit 软件安装时,自己带了一些有关于解算的文件,可以理解为设置文件等。但是它自己带的文件比较老了,但是我们处理的数据可能比较新,其中的一些文件不更新的话,处理起来会报错,比如发射卫星,有的卫星不服务,都需要更新tables文件夹下面的相关文件,所以需要我们自己手动下载相关文件拷贝到 tables文件夹下面,替换掉原来的文件即可
(4.2)gg 和 tables 的关系
在我们安装完成Gamit时,会提示,是否创建一个链接,链接到gamit 的安装目录下面的tables ;说白了,gg 文件夹就是为了节省空间的一个 tables 文件夹的快捷方式,更新 gg 里面的文件就等于更新 安装目录的 tables 文件夹的文件
(5)准备测站近似坐标文件L文件
处理igs站点时,只需要从gamit安装时自带的tables文件夹中,找到近似坐标文件(.apr)将自己处理数据的站点拷贝出来即可可以使用 grep 命令
示例:
grep URUM itrf14.apr > lfile.1
(5.1)关于官方文档中对于L近似坐标文件的描述的翻译
得到一个好的先验坐标。主要目的有三个:
第一,产生 pre-fit(先验的)残差
足够 autcln 来进行稳健的数据编辑。因为 10 米的
先验坐标误差,将会利用足够的数据来估计出一个误差优于一米的坐标,然后更新
坐标,重复进行来获得所有测站数据时段的干净的全部解。
第二,最小二乘法平差的线性性。
台站坐标的收敛率是 1/1000(保守认为),所以在一个先验坐标值里面 1
米的误差,造成最后解 1mm 左右的误差
第三个,最严格要求是,这个坐标用来做基准台站的坐标
这个基准台站,被在最后解中强制用来做观测网络的参考框架。
如果你用 GLOBK 来得到你最终的解,前两个要求(编辑和线性化)需要在 GAMIT 的
l-fiel 文件中得到满足。最后的两个要求(线性化和基准站坐标)需要在 GLOBK 的一
个 priori ( .apr)台站文件中得到满足。ITRF 坐标的 GLOBK 的 apr 文件可以从 MIT
的 ftp 目录/updates/tables 中获得
二.数据的下载地址
(1)说明
下载的数据中心自己可以选择,数据中心的每一个数据实际上是一个个的ftp的网址所构成的,下载方式有很多,选择适合自己的有很多,比如使用ftp下载器,匿名连接即可
(2)下载地址
备注:这是下载的其中的几个Gloness的数据,如自己使用,稍微修改一下路径即可
ftp://cddis.gsfc.nasa.gov/glonass/products/1738/igl17383.sp3.Z
ftp://cddis.gsfc.nasa.gov/glonass/data/daily/2013/121/13g/brdc1210.13g.Z
ftp://cddis.gsfc.nasa.gov/gps/data/daily/2013/121/13d/hkws1210.13d.Z
(2.1)下载好的d.z文件(压缩文件)转换到正常的 (o 文件)方法
(3)更新 tables 文件的 bash 脚本
yr_4=$1
doy =$2
expt=$3
mkdir $expt
cd $expt
#gamit的tables更新目录
user="anonymous";userpasswd="jason%40ucsd.edu";host="garner.ucsd.edu/pub/gamit/tables"
#leap挑秒
if [ -e ./leap.sec ]
then rm ./leap.sec
fi
wget http://${user}:${userpasswd}@${host}/leap.sec
#rcvant.bat 接收机天线对照表
if [ -e ./rcvant.dat ]
then rm ./rcvant.dat
fi
wget http://${user}:${userpasswd}@${host}/rcvant.dat
#soltab.2019.J2000 太阳星历
if [ -e ./soltab.${yr_4}.J2000 ]
then rm ./soltab.${yr_4}.J2000
fi
wget http://${user}:${userpasswd}@${host}/soltab.${yr_4}.J2000
#ut1.usno
if [ -e ./ut1.usno ]
then rm ./ut1.usno
fi
wget http://${user}:${userpasswd}@${host}/ut1.usno
#pmu.bull_s.new
if [ -e ./pmu.bull_s.new ]
then rm ./pmu.bull_s.new
fi
wget http://${user}:${userpasswd}@${host}/pmu.bull_s.new
#nutbal.2019 月亮星历
if [ -e ./nutabl.${yr_4} ]
then rm ./nutabl.${yr_4}
fi
wget http://${user}:${userpasswd}@${host}/nutabl.${yr_4}
#luntab.2019.J2000
if [ -e ./luntab.${yr_4}.J2000 ]
then rm ./luntab.${yr_4}.J2000
fi
wget http://${user}:${userpasswd}@${host}/luntab.${yr_4}.J2000
#pole.usno
if [ -e ./pole.usno ]
then rm ./pole.usno
fi
wget http://${user}:${userpasswd}@${host}/pole.usno
#pmu_r
if [ -e ./pmu.bull_r ]
then rm ./pmu.bull_r
fi
wget http://${user}:${userpasswd}@${host}/pmu.bull_r
#pmu_a
if [ -e ./pmu.bull_a ]
then rm ./pmu.bull_a
fi
wget http://${user}:${userpasswd}@${host}/pmu.bull_a
#svnav.dat 卫星列表的更新
if [ -e ./svnav.dat ]
then rm ./svnav.dat
fi
wget http://${user}:${userpasswd}@${host}/svnav.dat
#svs_exclude.dat坏的卫星的文件更新
if [ -e ./svs_exclude.dat ]
then rm ./svs_exclude.dat
fi
wget http://${user}:${userpasswd}@${host}/svs_exclude.dat
#utl/utl.usno 地球自转参数if
if [ -e ./utl.usno ]
then rm ./utl.usno
fi
wget http://${user}:${userpasswd}@${host}/utl.usno
#hi.dat 接收机天线高
if [ -e ./hi.dat ]
then rm ./hi.dat
fi
wget http://${user}:${userpasswd}@${host}/hi.dat
#.dat 接收机天线高
if [ -e ./antmod.dat ]
then rm ./antmod.dat
fi
wget http://${user}:${userpasswd}@${host}/antmod.dat
if [ -e ./svnat.dat ]
then rm ./svnat.dat
fi
wget http://${user}:${userpasswd}@${host}/svnat.dat
(3.1)普通下载
ftp网址下载即可
ftp://garner.ucsd.edu/archive/garner/gamit/tables
ftp://everest.mit.edu/pub/tables/ #另外一个更新tables的地址,目前后者下载的速度明显优于前者,前者有时打不开
4.有了脚本怎么使用?
在 linux 下面 运行下图的命令即可
- bash //表示运行的环境是 bash
- upd_tables.sh //脚本的名字
- 2016 年份 002 时间 //输入正在用脚本时的时间即可
- test 文件夹 //下载好的tables文件存储的位置,和脚本运行的目录在一起,如下图所示:
三.基线解算
(1)链接tables表
sh_setup -yr 2013 //对2013年的数据进行连接(仅为示例),在工程目录下面运行
(2)更新station.info
sed -n '2,6p' station.info > ../rinex/station.info //将tables 的station.info 拷贝到 rinex 文件夹中,在rinex中制作station.info,然后拷贝回 tables 文件夹中,直接覆盖即可
sh_upd_stnfo -files *.13o //将rinex文件夹下面的所有的测站名称更新好放在station.info文件中
(3)制定解算策略
(4)执行sh_gamit 批处理解算
Gamit 有分布处理解算,计算容易出错,工作量大,不建议使用
sh_gamit -expt ${expt} -d $year $day -orbit IGSF -pres ELEV -dopt D ao x c > sh_gamit.log
- {expt} 工程目录的名称
- {year}解算的数据所在的年份
- {day}解算的数据所在的天(年积日)
(5)处理的过程很容易出错需要及时查看英语的报错提示以及日志文件
在分布处理数据的时候,有时候处理时,报错此时可以删除gamit.fatal文件,因为本人查看了处理的源代码,里面有的命令会先判断gamit.fatal这个文件是否存在,存在的话,就不会执行下一步操作,需要注意,比如在 fixdrv 以及 csh 运行生成的代码时,就需要特别注意删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)