歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> GAMIT10.6 命令的更新

GAMIT10.6 命令的更新

日期:2017/2/28 13:54:30   编辑:Linux教程

1. 問題

相信很多人安裝GAMIT 10.6以後,按照GAMIT 10.5的操作和命令是沒法進行基線解算的。這個問題也困擾了我很久,後來時間解決了一切。

首先GAMIT 10.6 在makexp 和 sh_sp3fit兩個命令裡都加入了新的選項-gnss;其次svnav.dat這個文件的格式也變了。認識到了這兩個問題就好辦了,GAMIT的命令都是自解算的,也是是當你輸入不參數命令時,出來的就是幫助信息而不是一堆的錯誤信息。再往下看之前各位看官可以自己先試一下看看能不能解決上面的這兩個問題。

2. 解決辦法
• GAMIT單天解(單時段)的一般流程為:
makexp -> sh_sp3fit -> sh_check_sess -> makej -> sh_check_sess -> makex -> fixdrv -> csh

• 在執行makexp時,第三次提示輸入時應輸入導航系統代碼,提示的導航代碼有 G R C ...但實際上目前只支持G,所以在makexp這個命令下,與GAMIT 10.5不同之處就是這個導航系統代碼。
• 在執行sh_sp3fit時,GAMIT 10.5的格式為:
sh_sp3fit -f *.sp3 #(* 星號指星歷的周天)
而在GAMIT 10.6中則為:
sh_sp3fit -f *.sp3 -gnss G -o cors #(cors為makexp 時輸入的星歷名稱)

• 如果是新安裝GAMIT 10.6的話那麼你需要將svnav.dat文件替換成increment_install/tables/svnav.dat ,這是GAMIT 10.6發布的新格式,這一點定要注意。

3. 主要代碼

f_makexp_in = open('makexp.in', 'w')
f_makexp_in.write('cors' + os.linesep)
f_makexp_in.write('cors' + os.linesep)
f_makexp_in.write('G' + os.linesep) # gamit 10.6需要此條語句
f_makexp_in.write(year + os.linesep)
f_makexp_in.write(doy + os.linesep)
f_makexp_in.write('1' + os.linesep)
f_makexp_in.write('lcors' + year[-1] + '.' + doy + os.linesep)
f_makexp_in.write('ecors' + year[-1] + '.' + doy + os.linesep)
f_makexp_in.write(str(project.INTERVAL).ljust(2, '0') + ' 00 ' + '00 ' + str(86400 / project.INTERVAL))
f_makexp_in.close()
os.system('makexp < makexp.in')
os.system('sh_sp3fit -f %s -gnss G -o cors' % igs_eph_name)
os.system('sh_check_sess -sess %s -type gfile -file %s' % (doy, 'gcors' + year[-1] + '.' + doy))
os.system('makej %s %s' % ('ecors' + year[-1] + '.' + doy, 'jcors' + year[-1] + '.' + doy))
os.system('sh_check_sess -sess %s -type jfile -file %s' % (doy, 'jcors' + year[-1] + '.' + doy))
os.system('makex cors.makex.batch')

GAMIT相關閱讀:http://www.linuxidc.com/GAMIT/

GAMIT10.4及最新版本的GAMIT下載在Linux公社5號FTP服務器,具體下載見 http://www.linuxidc.net/thread-1186-1-1.html

Copyright © Linux教程網 All Rights Reserved