在Mac下安装时间序列软件Hector

1.软件介绍

Hector 是一款开源软件,专用于 GNSS 时间序列数据的处理与分析,广泛应用于地球科学研究。它帮助研究人员从 GNSS 数据中提取长期趋势、周期性成分,并建模噪声特性,用于地壳形变、地震影响和气候变化等方面的研究。Hector 提供了高效的工具来识别和去除异常值,提升数据分析的精度,是研究地表运动和环境变化的有力工具。

2. 源码下载

在Hector官网:Hector - TeroMovigo下载源码,其他linux和win也可以直接下载对应的安装包,由于我是苹果系统,我下载的是最新的hector-2.1_source的源码,如下图所示

解压以后的hector 2.1版本 的内容,如下图所示,src是源码的内容。

3. 编译与安装

根据官网的说明书的安装手册,我们将安装包放入 /usr/local/bin里面

但是我们是mac苹果系统,很多安装包是homebrew安装,所以需要将src里面的Makefile重新写一下,标注在homebrew里面的位置,下面是更改后的Makefile

复制代码
# Makefile for the hector-2.1 programs
#
#  This script is part of Hector 2.1
#
#  Hector is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  any later version.
#
#  Hector is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with Hector.  If not, see <http://www.gnu.org/licenses/>
#
#===============================================================================

VERSION=2.1

CPP      = g++
CPPFLAGS = -O2 -Xpreprocessor -fopenmp -std=c++1z -I/opt/homebrew/opt/openblas/include/ -I/opt/homebrew/opt/libomp/include/ -I/opt/homebrew/opt/fftw/include/ -I/opt/homebrew/opt/boost/include/
PREFIX   = /usr/local
OPENBLAS = -L/opt/homebrew/opt/openblas/lib/ -lopenblas
FFTW     = -L/opt/homebrew/opt/fftw/lib/ -lfftw3
LIB_DIR  = -L/opt/homebrew/opt/libomp/lib/ -lomp -L/opt/homebrew/opt/boost/lib/

#--- Directory where programs will be installed
BIN_DIR=$(PREFIX)/bin

#--- convenient group names
programs = estimatetrend modelspectrum estimatespectrum simulatenoise \
	removeoutliers date2mjd mjd2date findoffset

all : $(programs)

clean:
	rm -f *.o $(programs)
	rm -rf *.dSYM

install:
	mkdir -p $(BIN_DIR)
	install $(programs) $(BIN_DIR)

uninstall :
	@rm -f $(addprefix $(BIN_DIR)/,$(programs))

include Makefile_common

test_Matern : test_Matern.cpp Control.o Observations.o NoiseModelBaseClass.h \
	Calendar.o Matern.o
	$(CPP) $(CPPFLAGS) test_Matern.cpp Control.o Observations.o \
        Calendar.o Matern.o \
        $(OPENBLAS) $(FFTW) $(LIB_DIR) \
        -o test_Matern

test_2F1 : test_2F1.cpp
	$(CPP) $(CPPFLAGS) test_2F1.cpp \
        $(OPENBLAS) $(LIB_DIR) \
        -o test_2F1

在/usr/local/bin/hector_2.1/src里面进行编译

复制代码
sudo make

配置文件里面.zshrc加入hector2.1的路径位置

4.测试与安装画图软件

官方有example,进入到ex1软件,出现如下结果,即安装成功

复制代码
(base) wangxin@wangxindeMac-mini ex1 % removeoutliers removeoutliers.ctl

**************************************
    removeoutliers, version 2.1
**************************************
Data format: MJD, Observations, Model
Filename                   : ./obs_files/TEST.mom
Number of observations+gaps: 1000
Percentage of gaps         : 10
after removal gaps, m=900
No Polynomial degree set, using offset + linear trend
No extra periodic signal is included.
Found 6 bad points.
after removal gaps, m=894
No Polynomial degree set, using offset + linear trend
No extra periodic signal is included.
Found 0 bad points.
--> ./pre_files/TEST.mom
(base) wangxin@wangxindeMac-mini ex1 % 

同时需要安装一下gnuplot,方便后面画图

复制代码
brew install gnuplot

5.参考文献

复制代码
Bos, M.S., Fernandes, R.M.S., Williams, S.D.P., and Bastos, L. (2013). Fast Error Analysis of Continuous GNSS Observations with Missing Data. J. Geod., Vol 87(4), 351-360, doi:10.1007/s00190-012-0605-0 .

hector官网

hector软件安装

时间序列分析

相关推荐
vi_h1 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
pe7er7 天前
macOS 应用无法打开(权限问题)解决方案
macos·mac
harmful_sheep9 天前
mac生效的终端查看
macos
iOS门童10 天前
macOS 应用"已损坏"无法打开?一文搞懂 Gatekeeper 与解决方案
macos
NPE~10 天前
[工具分享]Maccy —— 优雅的 macOS 剪贴板历史管理工具
macos·教程·工具·实用工具
差不多程序员10 天前
Mac安装OpenClaw-cn保姆级教程
macos
dzl8439410 天前
mac 安装python
开发语言·python·macos
Bruce_Liuxiaowei10 天前
在 macOS 上通过 Docker 本地安装 OpenClaw 完整教程
macos·docker·容器·openclaw
阿捏利10 天前
详解Mach-O(十五)Mach-O __DATA_CONST
macos·ios·c/c++·mach-o
ShikiSuen10 天前
macOS 的 CpLk 中英切换卡顿的元凶在 InputMethodKit 本身
macos