Hector可以利用时间相关噪声估计时间序列线性趋势。趋势估计是地球物理研究中的一项常见任务,人们对温度、海平面和位置随时间的上升等现象感兴趣。众所周知,在大多数地球物理时间序列中,噪声在时间上是相关的,这对估计线性趋势的精度有重要影响。建议下载1.6以上的版本,因为官方给出了配套使用的批处理python3脚本。
 1、官网下载安装包
 Hector官方网站:http://segal.ubi.pt/hector/
 登录官网找到原始版本,适配1.72版本及以上的,最低适配乌班图18.04版本,本人使用的是乌班图18.04,下载使用1.72版本的Hecter软件。
 
 
 2、win下解压压缩包
 解压hector_1.7.2_static_64bit_Ubuntu18.04.tar.bz2、hector_1.7.2_Python3.tar.bz2。
 ①解压后hector_1.7.2_static_64bit_Ubuntu18.04.tar.bz2中包含以下内容:
 
 ②解压后hector_1.7.2_Python3.tar.bz2中包含以下内容:
 
 3、乌班图系统下安装
 1)将解压好的hector_1.7.2_static_64bit_Ubuntu18.04文件夹拷贝到opt文件夹下,并完成改名成hecter172;将解压好的hector_1.7.2_Python3文件夹到opt文件夹下,并完成改名成hectorpy3;
 
 2)如果不配置环境变量那只能在这个文件夹下运行,很麻烦,所以要设置环境变量:在home目录下找到.bashrc文件,如果没有,按ctrl 和H 键显示隐藏文件,在文件末尾添加信息如下(具体路径根据个人实际情况修改):
################## Hector 配置信息############
export PATH=$PATH:/opt/hector172
export PATH=$PATH:/opt/hectorpy3

 3)home目录下,打开终端,输入:source .bashrc使环境变量生效,之后就可以用啦!!ヾ(✿゚▽゚)ノ
 4、使用操作说明
 看看手册里的运行的流程说明:
 
 1)新建工程文件夹demo,里面新建文件夹ori_files,用于存放待处理数据文件,如下图所示,注意文件前四位最好为大写的四位站点名,后缀.neu。文件里具体内容为四列,第一列为时间,后三列为对应的NEU三方向的时序数据。
 
 
 2)当前工程文件demo目录下,打开终端:
 ①输入:convert_neu2mom.py,用于将ori_files文件夹将原始数据.neu文件转为neu三方向.mom文件存在raw_files文件夹下;一个NMAG站点,能被分成三个文件,_0,_1,_2对应的为N/E/U三个方向;NMAG_0.mom内容如下图所示。
 
 
 ②输入:find_all_offsets.py,用于将raw_files文件夹数据进行偏移量检测,结果文件存放于obs_files文件夹下;
 
 ③输入:analyse_timeseries.py NMAG_0 WN,其中NMAG_0为站点对应的某方向数据,WN为噪声模型,噪声模型有"WN" “GGMWN” “PLWN” “FNWN” “RWFNWN”;
 
 运行完会生成一行数字,各有各自的意义,参考说明书:
 
 选取的噪声模型不同,生成的最后数字个数并不相同,但是前16个数的意义完成相同,如第一个估计的趋势项,第二个为对应的估计趋势项不确定度,第五个为对应的AIC值,第六个为对应的BIC值,一般根据对应的BIC最小值来确定最优噪声模型。
 4、脚本批处理
 可以自己编写shell脚本(我的自己写的脚本命名为cdm_hecter,存放在opt文件夹下,配置好路径环境,任何地方都可以调用)进行批处理,用户可实现利用hecter软件进行时序多站三方向多噪声模型的批处理,无需对待处理的文件夹下的数据站点名进行统计,即可根据脚本实现ori_files原始数据存放文件夹下的站点名统计,再根据统计站点进行循环批处理。
 
 
 结果直接输入到自己新建的result文件夹下,文件里每行为对应点的噪声组合模型,及其软件估计的参数统计;
 
 
 附件:cdm_hecter
#!/bin/bash
#====================================================================================================
#                          By CAO Duoming/Chinese Academy of Surveying & Mapping
#                                            ******说明******
#	此shell脚本用户对hecter软件进行时序处理的多站三方向多噪声模型的批处理,无需对待处理的文件夹下的数据站
#点名进行统计,即可根据脚本实现ori_files原始数据存放文件夹下的站点名统计。
#
#====================================================================================================
echo ">>>>>The B-shell script for Hecter is running,please keep moment>>>>>>>"
echo "                                                                       "
echo "———————————————————————————————请告知系统待处理的文件类型——————————————————————————"
echo "                                                                         "
echo "               选择数字:1 >>> SOPAC网站数据等文件名后缀为.neu"
echo "               选择数字:2 >>> 内华达大学网站数据等文件名后缀为.tenv3(内华达大学专属)"
echo "                                                                         "
echo "—————————————————————————————————————————————————————————————————————————————————"
mkdir dianming
mkdir result
read choose_number
if [ ${choose_number} == "1" ]; then
	echo "正在进行SOPAC网站数据等文件名后缀为.neu文件处理......."
	#注意区分设置方向为:NEU或者ENU
	directions=(North East Up)
	#-----------------用于统计待处理文件夹下文件名(站点名:建议都为大写)以及文件个数-----------------------
	cd dianming
	files=$(ls ../ori_files)
	for filename in $files
	do
		echo $filename >> zhongjian.txt
		sed -i "s/.neu/ /g" zhongjian.txt
	done
	for s in $(cat zhongjian.txt)
	do
		site1=`echo $s | cut -b 1-4`
		echo $site1 >> name.txt
	done
	num=$(cat name.txt | wc -l)
	echo "待处理的文件个数为:${num}"
	cd ..
	#-----------------用于正式利用Hecter软件进行地学时序的处理---------------------------------------------
	#1.格式转换:进入ori_files文件夹将原始数据.neu文件转为neu三方向.mom文件存在raw_files文件夹下
	convert_neu2mom.py
elif [ ${choose_number} == "2" ];then	
	echo "正在进行内华达大学网站数据等文件名后缀为.tenv3文件处理......."
	#注意区分设置方向为:NEU或者ENU
	directions=(East North Up)
		#-----------------用于统计待处理文件夹下文件名(站点名:建议都为大写)以及文件个数-----------------------
	cd dianming
	files=$(ls ../ori_files)
	for filename in $files
	do
		echo $filename >> zhongjian.txt
		sed -i "s/.neu.txt/ /g" zhongjian.txt
	done
	for s in $(cat zhongjian.txt)
	do
		site1=`echo $s | cut -b 1-4`
		echo $site1 >> name.txt
	done
	num=$(cat name.txt | wc -l)
	echo "待处理的文件个数为:${num}"
	cd ..
	#-----------------用于正式利用Hecter软件进行地学时序的处理---------------------------------------------
	#1.格式转换:进入ori_files文件夹将原始数据.neu文件转为neu三方向.mom文件存在raw_files文件夹下
	convert_tenv32mom.py
fi
#2.检测发生的偏移量
find_all_offsets.py
for site in $(cat ./dianming/name.txt)
do
	file_name=${site}_result.txt
	for ((j=0;j<${#directions[*]};j++))
	do
		#噪声类型可添加更改
		m_names=(WN GGM_WN PL_WN FN_WN RW_FN_WN) 
		#对应以上噪声类型进行更改       
		models=("WN" "GGMWN" "PLWN" "FNWN" "RWFNWN")    
		#给变量设置对应方向
		direction=${directions[$j]}
		for((k=0;k<${#m_names[*]};k++))
		do
			m_name=${m_names[$k]}
			model=${models[$k]}
			
			#3.正式时间序列分析:粗差剔除>>趋势项估计>>功率谱分析
			file_content=${direction}.${m_name}
			echo -e "${file_content}  \c">> ./result/${file_name}
			#注:我们要得到相应的参数到result文件夹下对应结果文件
			analyse_timeseries.py ${site}_${j} ${model}>> ./result/${file_name}
				
		done
	done
done 
#删除中间文件夹
rm -rf dianming