并行处理InSAR数据的简便方案

2019-12-21  本文已影响0人  很Q的GIS

写在前面

InSAR数据处理,包含大量的计算工作,尤其现在一景数据,动辄4、5个GB,再加上配准、干涉中间数据处理过程多,一块区域处理一个星期都有可能,就别提返工了,个把月就过去了。

以SBAS-InSAR数据处理为例,多期数据可能产生数百个干涉对,这些个干涉对,如果逐个进行干涉、解缠计算,运算量极大。

在计算机性能允许的情况下,如果能同时并行处理多个干涉对,可以大大提高干涉效率。

下文就举一个GMTSAR并行解缠的例子。

软件环境配置

计算机环境:Ubtuntu18

InSAR处理软件:GMTSAR 5.4

并行数据处理依赖于一个第三方的软件叫parallel 

使用命令  apt-get install parallel 安装,一个命令就搞定。

配置处理命令

这里以GMTSAR的解缠命令为例,进行配置。

假设我们要解缠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个独立的数据脚本:

第一个:

#!/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

最后,写一个总脚本,逐行把单个脚本的执行命令逐行写进去,类似这样

./1.csh

./2.csh

./3.csh

./4.csh

./5.csh

./6.csh

命名为batchUnwrap.csh

这里就能做并行解缠了

命令为 parallel --jobs 6 < batchUnwrap.csh

这里的6是并行数,也就是6个一起算,大家可以根据机器性能自己尝试。

最后

parallel是一个第三方的软件,也就是你可以用他并行处理其他软件的任务,不论GMRSAR,还是ISCE,还是GAMMA,都一样。所以超好用!!

上一篇下一篇

猜你喜欢

热点阅读