GAMIT netsel模块子网划分与解算

netsel子网划分与解算

  • [1 netsel模块帮助文档](#1 netsel模块帮助文档)
  • [2 实际使用](#2 实际使用)
  • TODO
  • 参考文献

受限于数组规模,GAMIT软件最多一次只能解算99个站点的网,事实上,GLOBK内置了子网划分程序netsel,在解算时,其实不必额外写一个程序来进行子网划分。本次解算了120余个站点,探究如何利用netsel程序来进行子网划分解算[1]。

1 netsel模块帮助文档

安装了GAMIT后,netsel将被添加到环境变量中,仅需输入netsel即可输出代码块内的内容,从中可知,netsel必须输入以下几个参数/文件:

  • -f RINEX文件的list (通过ls -s <rinex_files>生成)
  • -v 速度场文件(直接使用~/gg/tables/igb14.vel即可)
  • -n 每个网里的站点数目 (根据个人喜好调节)
  • -t 每个网的连接站数量 (通过这些站把各子网连成一张大网,必须大于0)

假设在工程目录的rinex目录下分子网,则以下参数是可选项:

  • -s station.info的文件路径 (默认是../tables/station.info
  • -c 两个字母的子网代码 默认会将各子网的expt命名为ne01,ne02,...,如果更改为hb,则为hb01,hb02,...

netsel会打印一个新生成的sites.defaults,通过指定不同的expt,实现划分子网的目的。

复制代码
NETSEL: Subnetting program for regional GPS networks

NETSEL: Automatic sub-netting of rinex files.  Generates a sites.default file
output to screen (normally redirected into file).  All rinex files to be processed
are assumed to be already in rinex directory and must be downloaded first.

MOD TAH 150512: Upgraded to allow a sh_gen_stats rw file for input to give the list
of sites to make networks from and to limit the rw magnitude of sites in the solutions.
When the -rw option is used, GLOBK use_site list with the globk OPTION selection.

Usage:
netsel <options>
Options are
-f <file> -- List of rinex files generated with ls -s <rinex files>
-v <file> -- Globk velocity file with site coordinates
-n <number> -- Desired number of sites in each network (will be adjusted to make all
               networks about the same size)
-t <number> -- Number of tie sites per network (must be >0)
-s <file>   -- Name of station.info file to use (default ../tables/station.info)
-c <code>   -- Specifies network code (2-characters).  Default ne so that
               networks will be ne01, ne02 .... neNN
NEW: 150512
-rw <file> <maxuse> [minrw] -- sh_gen_stats .rw random walk file name and maximum horizontal
               random walk value to be used.  Output will be GLOBK use_site commands.
               Default for <maxuse> 2 mm^2/yr
MOD TAH 230128: Added optional minrw which sets foor for RW process noise when weighting
               station.  (Default is 0.25 mm^2/yr^2.) Values for individual stations
               are given in output. (Sort to find median).

EXAMPLE: Normally run from control directory.
In this case we have 484 sites so about 13 networks will be formed.  With -t 2, the overarching netw
have 26 sites (2x13).

ls -s ../rinex/*3280.13o > list.2013.328
netsel -f list.2013.328 -v ../tables/TVN_US_2010.vel -n 40 -t 2 -c tr > & ! ../tables/sites.defaults

Output: ../tables/sites.defaults.2013.328

Site Range Long   231.8650  307.3222 Latitude    24.6594   62.4809 deg
NETSEL: For  484 sites, with nominal   40 sites per network, final selection is:
NETSEL: Fin   38 sites in   13 networks with   28 sites in one network
NETSEL: Number of tie sites   2
#NETWORK Number 001 with  38 sites
# NN    #      Long         Lat     Name  RK
# 001   1    272.49850     33.16800 AL50  19
# 001   2    272.38440     32.71150 AL55  15
...
# 001  37    271.32690     31.67870 MSWY  21
# 001  38    269.58800     32.84640 MSYZ  14
#NETWORK Number 002 with  38 sites
# NN    #      Long         Lat     Name  RK
# 002   1    270.62340     38.37820 API1  10
# 002   2    268.81050     39.33390 BWGR  15
....
# 013   1    271.51280     32.82960 MSSB 13
# 013   6    262.66600     41.43910 NECB 13
# 013   2    270.31170     38.74750 TKCH 13
 acso_gps   tr05  xstinfo
 acu5_gps   tr13  xstinfo
 ... xcty_gps   tr07  xstinfo
 yell_gps   tr13  xstinfo
 zphr_gps   tr07  xstinfo
 zphr_gps   tr06  xstinfo

(Note here zphr is used in two networks.  No site should be used more than twice).

2 实际使用

建立工程文件夹hbc1,在hbc1文件夹内放置brdc、igs和rinex,(事先通过脚本改名,gfzrnx进行rinex文件的格式化操作,统计各天数据的数量,确定站点数据最全的一天用于station.info更新、lfile更新和子网生成),而后进入rinex文件夹,假设48是数据最全的一天,station.infolfile.已经更新好,我想要每个子网内最多55个站,有5个接边站,则进行如下操作:

bash 复制代码
ls -s *0480.26o > list.2026.048
netsel -f list.2026.048 -n 55 -t 5 -v ~/gg/tables/igb14.vel >> ../tables/sites.defaults

经过这番操作,sites.defaults内更新了一些新内容,由于涉及坐标就不展示了。这里生成了4个子网,分别为ne01,ne02,ne03,ne04,在hbc1同级目录建立hbc2,hbc3,hbc4三个目录,分别把brdc,igs,rinex链接进各目录,然后对各子网分别进行更新lfilestation.info的操作,由于sites.defaults对rinex文件夹内所有的观测值分了组,因此可以在sites.defaults内对不参与解算的网添加xsite参数,即:在hbc1文件夹内禁用ne02,ne03,ne04的站,以此类推。这里仅展示控制解算的行:

复制代码
 aaaa_gps   ne01  xstinfo
 ......
 bbbb_gps   ne02  xsite xstinfo
 cccc_gps   ne03  xsite xstinfo
 ......
 dddd_gps   ne04  xsite xstinfo 

操作完成后,启动4个tmux窗口,进入各工程目录,稍微错峰开始解算即可。注意,此时的expt名称要设置为ne01,ne02,ne03,ne04,以第一个子网为例,即:

bash 复制代码
sh_gamit -s 2026 48 57 -orbit igsf -gnss C -expt ne01 -c -metutil Z

TODO

感觉这种操作还是比较麻烦,后面可以搞一套自动化流程来解算。

参考文献

1\] 程传录, 蒋光伟, 聂建亮, 田晓静. 利用双差的超大GNSS基准站网解算方法改进\[J\]. 武汉大学学报 (信息科学版), 2014, 39(5): 596-599.

相关推荐
Predestination王瀞潞2 小时前
4.3.2 存储->微软文件系统标准(微软,自有技术标准):NTFS(New Technology File System)新技术文件系统
linux·microsoft·ntfs
___波子 Pro Max.2 小时前
Linux rsync使用教程
linux
竹之却2 小时前
Ubuntu 系统安装 Ollama 教程
linux·运维·ubuntu·ollama
赵民勇2 小时前
gtkmm库之动作系统详解
linux·c++
sdm0704275 小时前
yum和开发工具vim/gcc
linux·服务器·centos
如意.75910 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
Thera77711 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ12 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
安当加密13 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器