寫在前面
InSAR數(shù)據(jù)處理,包含大量的計算工作讥邻,尤其現(xiàn)在一景數(shù)據(jù)迫靖,動輒4院峡、5個GB,再加上配準系宜、干涉中間數(shù)據(jù)處理過程多照激,一塊區(qū)域處理一個星期都有可能,就別提返工了盹牧,個把月就過去了俩垃。
以SBAS-InSAR數(shù)據(jù)處理為例,多期數(shù)據(jù)可能產(chǎn)生數(shù)百個干涉對汰寓,這些個干涉對口柳,如果逐個進行干涉、解纏計算踩寇,運算量極大啄清。
在計算機性能允許的情況下六水,如果能同時并行處理多個干涉對俺孙,可以大大提高干涉效率。
下文就舉一個GMTSAR并行解纏的例子掷贾。
軟件環(huán)境配置
計算機環(huán)境:Ubtuntu18
InSAR處理軟件:GMTSAR 5.4
并行數(shù)據(jù)處理依賴于一個第三方的軟件叫parallel?
使用命令??apt-get install parallel?安裝睛榄,一個命令就搞定。
配置處理命令
這里以GMTSAR的解纏命令為例想帅,進行配置场靴。
假設(shè)我們要解纏6個干涉對,所在絕對路徑是:
/home/gmtsar/cl/intf_all/2015329_2015353
/home/gmtsar/cl/intf_all/2015329_2016012
/home/gmtsar/cl/intf_all/2015329_2016036
/home/gmtsar/cl/intf_all/2015329_2016060
/home/gmtsar/cl/intf_all/2015329_2016108
/home/gmtsar/cl/intf_all/2015329_2016132
GMTSAR使用snaphu_interp.csh命令進行解纏港准,需要做兩步動作
1.進入干涉文件夾旨剥;2.使用snaphu_interp.csh腳本進行解纏。
我們要做6次解纏操作浅缸,就寫6個獨立的數(shù)據(jù)腳本:
第一個:
#!/bin/csh -f
cd /home/gmtsar/cl/intf_all/2015329_2015353
ln -s ../mask_def.grd .
snaphu_interp.csh 0.001 0
命名為1.csh
第二個:
#!/bin/csh -f
cd?/home/gmtsar/cl/intf_all/2015329_2016012
ln -s ../mask_def.grd .
snaphu_interp.csh 0.001 0
命名為2.csh
以此類推轨帜,寫完全部處理腳本(你可以用任何用順手的方式批量寫,我用的python)
這樣我們就得到了全部處理腳本1.csh衩椒、2.csh蚌父、3.csh、4.csh毛萌、5.csh苟弛、6.csh
最后,寫一個總腳本阁将,逐行把單個腳本的執(zhí)行命令逐行寫進去膏秫,類似這樣
./1.csh
./2.csh
./3.csh
./4.csh
./5.csh
./6.csh
命名為batchUnwrap.csh
這里就能做并行解纏了
命令為?parallel --jobs 6 <?batchUnwrap.csh
這里的6是并行數(shù),也就是6個一起算做盅,大家可以根據(jù)機器性能自己嘗試荔睹。
最后
parallel是一個第三方的軟件狸演,也就是你可以用他并行處理其他軟件的任務(wù),不論GMRSAR僻他,還是ISCE宵距,還是GAMMA,都一樣吨拗。所以超好用B摹!