chaoshu的个人博客分享 http://blog.sciencenet.cn/u/chaoshu

博文

[转载]使用 GAMIT 解算可降水汽含量

已有 3170 次阅读 2017-9-4 09:44 |个人分类:GAMIT/GLOBK|系统分类:科研笔记|文章来源:转载

本文转载http://www.gnss.help/2016/10/12/gamit-calculate-pwv/

原作者:山科研究生jiangyingming@live.com

0、前言

可降水汽含量(Precipitable water vapor, PWV)是进行 GNSS 气象学研究的重要数据,目前对该数值的解算大多依赖于 GAMIT 软件。作为 GAMIT 基线解算的重要副产品,PWV 可用于为气象预报、气象灾害、气候变化等方面的研究提供重要的参考指标。

本文将介绍使用 GAMIT 程序解算 PWV 的过程。

1、数据准备

上面已经提到过,PWV 是 GAMIT 基线解算时的副产品。我们只需要在基线解算前做一些设置,就可以在数据处理的同时输出对测站地区气象参数如干延迟、湿延迟、PWV 等的估计结果。

作为示例,我将选用周边的几个 IGS 测站进行处理。需要注意的是,在你处理自己观测的数据时,最好也引入几个 IGS 站点进行联合解算。因为过短的基线会使得解算出的气象参数有一定的相关性。我选取了 2016 年 9 月 11 日的 7 个 IGS 站点(BJFS,DAEJ,LHAZ,SHAO,SUWN,URUM,WUHN)的观测文件作为示例。这些站点中个别还具有气象数据,我也将其引入进来。最终的文件组织结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
· work/
 |—— brdc/
     |—— brdc2550.16n
 |—— igs/
     |—— igs19140.sp3
 |—— met/
     |—— bjfs2550.16m
     |—— daej2550.16m
     |—— urum2550.16m
     |—— wuhn2550.16m
 |—— rinex/
     |—— bjfs2550.16o
     |—— daej2550.16o
     |—— lhaz2550.16o
     |—— shao2550.16o
     |—— suwn2550.16o
     |—— urum2550.16o
     |—— wuhn2550.16o
 |—— tables/

2、参数配置

2.1、表文件准备

共用表文件的更新方法前文早已经提到过,不再赘述。此处仅说明获取映射函数模型的过程。

本次解算任务我将采用 VMF1 映射函数模型,该模型文件需要从 MIT 的 FTP 服务器下载,欲了解详情请移步之前的文章。因为 2016 年还未过去,所以下载到的映射函数模型仅适用于对年积日在 284 以前的数据进行处理,其文件名为 vmf1grd.2016_284(随获取日期不同,获取到的文件名可能略有差异)。下载后将其放入 GAMIT/GLOBK 程序安装目录的 tables 文件夹内。

使用 sh_setup 方法将所需的共用表文件链接至解算目录的 tables 文件夹,然后检查其中的 map.grid 是否正确链接至刚才下载的模型文件 vmf1grd.2016_284:

$ ls -l tables/map.grid

如果系统输出中有类似这样的提示:

tables/map.grid -> /home/jon/gg/tables/map.grid.2016_284

则说明链接正确,否则需要使用如下命令重新建立链接:



$ rm -f tables/map.grid     # 删除原始链接
$ ln -s ~/gg/tables/vmf1grd.2016* tables/map.grid   # 创建新链接。如果你处理的不是 2016 年的观测数据,使用实际的年替换这里的 “2016”

2.2、参数配置

对于本文的任务,我打算使用 sh_gamit 批处理命令进行数据解算。如之前所述,此时的配置文件主要有四个:sestbl.、sittbl.、process.defaults 和 sites.defaults。

在这里,我只修改必要的配置,其他项目保持默认。打开 sestbl.,将其中对应的项修改为:

Met obs source = RNX UFL GPT 50   ; hierarchical list with humidity value at the end; e.g. RNX UFL GPT 50 ; default GTP 50
Output met = Y    ; write the a priori met values to a z-file (Y/N)

这里的 “Met obs source = RNX UFL GPT 50” 表示需要测站处的温度和气压等气象观测数据时,首先检查工程目录的 met 文件夹中有没有对应测站的 RINEX 气象文件,然后检查有无 U-文件中有无该站的信息,最后才采用 GPT 模型中的值。末尾的 “50” 表示假设的相对湿度,默认为 50%。你也可以对其进行更改,但实际上该值对解算结果影响很小。

而 “Output met = Y” 一项,表示设置 GAMIT 程序在基线解算的同时输出对气象参数的估计值,这些结果将保存至 Z-文件中。

同样在 sestbl. 文件中,将映射函数修改为使用 VMF1:

DMap = VMF1    ; GMF(default)/VMF1/NMFH; GMF now invokes GPT2 if gpt.grid is available (default)
WMap = VMF1    ; GMF(default)/VMF1/NMFW; GMF now invokes GPT2 if gpt.grid is available (default)
Use map.list = N   ; VMF1 list file with mapping functions, ZHD, ZWD, P, Pw, T, Ht
Use map.grid = Y   ; VMF1 grid file with mapping functions and ZHD

3、解算操作

完成上文的所有准备工作之后,就可以运行基线解算命令了:


$ sh_gamit -expt demo -d 2016 255 -met

这里的 -met 参数指示在解算时引入 RINEX 格式的气象观测数据。如果你没有此类数据,可以省略该参数。等待解算完成,就可以在年积日文件夹看到输出的 Z-文件,在本示例中为:zbjfs6.255,zdaej6.255 等。

但如果你查看这些 Z-文件,会发现其中并没有 PWV 解算结果而只有对流层总延迟和干延迟等参数信息,还需要执行 sh_metutil 命令做进一步处理。这个命令的常见用法为:


$ sh_metutil -f <o-file> -z <z-file>

其中 <o-file> 代表基线解算结果的 O-文件,<z-file> 代表输出的 Z-文件。具体到本例,在年积日文件夹执行命令:


$ sh_metutil -f odemoa.255 -z z*.255

最终的可降水汽解算成果保存在以 “met” 开头的文件中。具体到本例,它们是:met_bjfs.16255,met_daej.16255 等。

4、补充

如果你希望能在基线解算完成后直接生成可降水汽的估计值,可以为 sh_gamit 命令多加一个 -metutil Z 参数。如:


$ sh_gamit -expt demo -d 2016 255 -met -metutil Z

另外,除了使用 Z-文件估计可降水汽,sh_metutil 命令还支持由测站的气象观测数据和基线解算得到的 O-文件生成可降水汽估计值。其命令为:


$ sh_metutil -f <o-file> -m <met-file>

在该命令中,<o-file> 代表基线解算结果的 O-文件,<met-file> 代表站点气象观测数据。




https://wap.sciencenet.cn/blog-858128-1074137.html

上一篇:[转载]GAMIT 中的 GRID 文件简介
下一篇:Makefile
收藏 IP: 59.174.167.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

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

GMT+8, 2024-5-17 20:08

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部