1. 数据准备:你的第一个GAMIT解算工程
很多朋友第一次接触GAMIT,看到那一堆文件就头大,感觉无从下手。我刚开始用的时候也一样,感觉这不像是个软件,倒像是个文件管理大师。但别怕,只要你把文件分门别类搞清楚,后面的流程就会顺畅很多。GAMIT解算,说白了就是一个“喂数据”的过程,你喂给它正确、完整的“食材”,它才能给你烹饪出高精度的坐标“大餐”。今天,我就带你从零开始,把这些“食材”准备齐全,并且告诉你哪些是关键,哪些可以灵活处理。
一个完整的GAMIT解算工程,核心文件可以分成三大类:固定不变的“家底”文件、需要定期更新的“新鲜食材”文件,以及控制解算行为的“菜谱”文件。我们先把工程目录建好,比如就叫/home/yourname/project/2024001,后面的所有操作都在这个目录下进行。记住,在Linux环境下操作是最稳妥的,很多文件在Windows下改名会出问题,这个坑我踩过好几次。
2. 文件清单全解析:从固定文件到每日更新
2.1 八个“家底”文件:一次搞定,永久使用
这八个文件是你的GAMIT安装基础,通常位于GAMIT的安装目录(比如/opt/gamit)的tables和setup子目录下。你不需要去网上下载它们(除了一个例外),直接从安装目录拷贝到你的工程目录就行。为了方便管理,我习惯在工程目录下建一个tables/文件夹,专门存放这些固定文件。
我们来一个个看:
- gdetic.dat: 这个文件定义了各种大地测量参考系和椭球参数。除非你做非常特殊的研究,否则永远不需要动它。
- guess_rcvant.dat: 这是一个“猜名字”的文件。当你的RINEX观测文件头里的接收机或天线型号,在正式的
rcvant.dat里找不到时,GAMIT会来这里找近似匹配。你可以按需编辑它,添加一些新型号。这个文件需要从网络获取,地址是http://garner.ucsd.edu/pub/gamit/tables/。 - otlcmc.dat: 海潮负荷改正模型文件。对于高精度解算,尤其是沿海或岛屿测站,这个文件至关重要。它提供了海潮引起的测站位移改正。
- sestbl.: 注意,这个文件后面有个点!它是测段解算控制文件,是本次解算的“总指挥”。我们后面会详细讲如何配置它。初始文件可以从
http://garner.ucsd.edu/pub/gamit/setup/下载sestbl.global,然后重命名为sestbl.。 - process.defaults: 过程控制文件,定义了一些批处理流程的默认选项。一般用默认的就行。
- sites.defaults: 测站默认信息文件。这是你告诉GAMIT“我要处理哪些测站”的第一个地方。你需要在这里列出所有参与解算的测站,包括IGS基准站和你自己的流动站。格式很简单,一行一个测站四字符名。
- station.info: 测站信息文件。这个文件可以只包含一个头信息,GAMIT在解算过程中会用
sites.defaults和RINEX文件头自动生成完整的测站信息。所以准备一个最简单的版本放这就行。 - autcln.cmd: 自动数据清理(autoclean)命令的配置文件。没有这个文件,解算流程的后期会报错。直接用安装目录里的模板。
注意:
sestbl.global下载后,在Linux下执行mv sestbl.global sestbl.来重命名。在Windows资源管理器里,你很难创建一个以点结尾且没有扩展名的文件。
2.2 十六个“新鲜食材”:解算当天的核心数据
这部分是重头戏,决定了你解算哪一天的数据。以解算2024年001天(1月1日)的数据为例,你需要准备以下文件。我把它们分为观测相关、星历相关、模型表和辅助表四类,这样理解起来更清晰。
第一类:观测与核心星历(必须每日更新)
- 观测文件(.20o): 你的接收机采集的RINEX观测文件,以及你从IGS下载的基准站观测文件。文件名格式如
bjfs0010.24o。确保所有测站名在文件中是大写。 - 广播星历(.20n / .24n): 导航电文文件。可以从IGS或你的接收机数据中获取。在工程目录里,我们通常把它改名为
auto0010.24n,以匹配GAMIT处理脚本的默认命名。 - 精密星历(.sp3): 高精度卫星轨道文件。从IGS数据中心下载,如
igs00100.sp3。如果没有最终星历(IGS),可以用快速星历(IGR)甚至超快速星历(IGU)代替,精度依次略有降低,但对于很多应用足够了。
第二类:关键控制文件(与测站和日期相关) 4. sittbl.: 测站坐标约束文件。这是另一个带点的文件!它定义了每个测站坐标的先验约束大小。比如,IGS站坐标已知很准,就给强约束(如0.05米);自己的未知点,就给松约束(如100米)。这个文件可以手动编辑,也可以用GamitTool等工具生成。 5. sitelist: 测站列表文件。一个简单的文本文件,每行一个测站四字符名,用于告诉某些处理模块具体处理哪些测站。注意,这个文件里测站名前面通常有一个空格。
第三类:不常更新的模型表 6. dcb.dat.G: GPS卫星和接收机的差分码偏差(DCB)改正表。现在叫这个名,以前叫dcb.dat.gps。 7. hi.dat: GPS天线测高方法文件。这两个文件更新频率较低,用最近几个月的版本一般没问题。
第四类:需要定期更新的最新表文件 这些文件建议从http://garner.ucsd.edu/pub/gamit/tables/下载最新的,通常每周或每月更新一次即可。包括:
antmod.dat: 天线相位中心改正模型(PCO/PCV)。dcb.dat.allgnss: 全星座(GPS/GLONASS/Galileo等)的DCB参数。leap.sec: 闰秒表。nbody: 多年代历表文件。非常重要!从GAMIT 10.7开始,原来的luntab、nutabl、soltab等文件都合并到这个nbody文件里了。务必使用新版本。pole.usno: 极移参数表。rcvant.dat: 接收机与天线型号对照表。svnav.dat.gnss: 卫星导航信息文件。使用时需要去掉后缀.gnss,重命名为svnav.dat。svs_exclude.dat: 坏卫星排除列表。ut1.usno: 地球自转参数(UT1-UTC)表。
提示:有时候你无法立刻下载到当天所有的最新表文件,比如
ut1.usno。一个实用的技巧是,用前几天(比如3天内)的文件临时替代,解算通常也能进行。但务必确保nbody、antmod.dat和rcvant.dat这几个对模型影响大的文件不要太旧。最核心的永远是观测文件和精密星历,这两样必须是对应日期的。
2.3 文件重命名与整理:Linux下的关键一步
所有文件下载或拷贝到你的工程目录后,别急着运行,先进行一轮重命名。这一步在Windows下操作会非常别扭,因为系统不鼓励无扩展名的文件。我强烈建议在Linux终端里完成。
# 进入你的工程目录
cd /home/yourname/project/2024001
# 1. 将广播星历改为 auto0010.24n (假设你下载的文件叫 brdc0010.24n)
mv brdc0010.24n auto0010.24n
# 2. 将 sestbl.global 重命名为 sestbl.
mv sestbl.global sestbl.
# 3. 将 sittbl.(如果从工具生成可能带其他后缀)确认命名为 sittbl.
# 如果已有,无需操作。如果是从GamitTool生成的,可能叫 sittbl.txt,则:
mv sittbl.txt sittbl.
# 4. 将极移和地球自转参数文件后面的扩展名去掉
mv pole.usno pole.
mv ut1.usno ut1.
# 5. 将 svnav.dat.gnss 重命名为 svnav.dat
mv svnav.dat.gnss svnav.dat
完成这些后,用ls -la命令查看,你应该能看到sittbl.、sestbl.、pole.、ut1.这样以点结尾的文件名。这就对了。
3. 控制文件配置:告诉GAMIT“谁”和“怎么算”
文件齐了,现在要告诉GAMIT具体怎么处理。这就涉及到两个核心控制文件:sites.defaults和sitelist。它们一个管“身份”,一个管“名单”。
3.1 配置 sites.defaults:定义测站角色
site.defaults文件不仅是一个名单,它还初步定义了测站的类型。用文本编辑器打开它,你会看到类似下面的格式:

147

被折叠的 条评论
为什么被折叠?



