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

博文

sh_sp3fit读取精密星历文件出错Unrecognized SP orbit format

已有 4688 次阅读 2019-10-28 16:09 |个人分类:GAMIT/GLOBK|系统分类:科研笔记

一、错误如下:

运行sh_sp3fit进行轨道积分,出现不识别sp3文件错误:Unrecognized SP orbit format

chaoshu@cc:~/Desktop$ ngstot cod20115.sp3 tcod20115.sp3 C
STATUS :191028:1532:16.0 NGSTOT/orbits/ngstot: Started NGSTOT ver. 10.06 2017/5/22 13::00 (Linux)      Library ver. 11.24 of 2017/6/7 10:00 (Linux)
STATUS :191028:1532:16.0 NGSTOT/orbits/ngstot: Reading cod20115.sp3     to write tcod20115.sp3    for GNSS = C
FATAL  :191028:1532:16.0 ORBITS/ngstot: Unrecognized SP orbit format
STOP FATAL Error: Stop from report_stat


二、问题所在:

经过对比,发现在2018-208开始,精密星历SP3文件格式改为SP3-d,而GAMIT10.61不支持读取此格式;

Selection_003.png

chaoshu@cc: ~-gg-gamit-orbits_005.png

chaoshu@cc: ~-gg-gamit-orbits_004.png

从上面截图可以看出来,ngstot.f文件中会判断读SP3文件是否发出错误,如果是,则跳转到代码块10,这里的作用就是判断sp3文件格式是否正确;

可以很明显的看到,SP3文件的首行头两个字符是标示版本号:

SP1        ' #'

SP3-a     '# ' or '#a'

SP3-b     '#b'

SP3-c     '#c'


而从2018-208开始

SP3-d    '#d'

GAMIT10.61版本还没有支持最新版本的SP3,GAMIT最新版本是10.70 ,不知道是否已经支持;


三、解决办法

1)在ngstot.f的174行加一个SP3-d的版本判断:

10  read(iungs,'(a2)') linesym

      if ( linesym.eq." #") then  

        spver = '1'

      elseif ( linesym.eq.'# '.or.linesym.eq.'#a' ) then

        spver = 'a'

      elseif ( linesym.eq.'#b' ) then

        spver = 'b'

      elseif ( linesym.eq.'#c' ) then

        spver = 'c'         

      elseif ( linesym.eq.'#d' ) then 

        spver = 'd' 

      else

        call report_stat('FATAL','ORBITS','ngstot',' '

     .                  ,'Unrecognized SP orbit format',0 )

      endif

      rewind(iungs)


2)在.~/gamit/lib/rsp3hd.f中添加一个'#d'版本读取方法

rsp3hd.f


重新编译GAMIT,解决问题!


参考资料:

1、https://www.ngs.noaa.gov/orbits/SP3_format.html

2、ftp://igs.org/pub/data/format/sp3_docu.txt

3、http://www.gnsser.com/Information/ViewDetails/375


备注另一个错误:

Number of SVs on RINEX file (=73) exceeds array dimensions (maxchn=72)

解决方法:把~/gg/gamit/includes/makex.h的第24行设置的72修改大一些,然后重新编译;

24:     PARAMETER     (MAXCHN=72)



https://blog.sciencenet.cn/blog-858128-1203756.html

上一篇:利用GFZRNX批量拼接RINEX文件脚本
下一篇:[转载]RINEX3.04观测值代码
收藏 IP: 119.79.228.*| 热度|

0

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

数据加载中...

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

GMT+8, 2024-9-19 11:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部