工作需要,对GROOPS源码进行了一段时间的阅读,参考源码说明,进行了简要的整理工作,后期会更新更详细更细节的源码阅读记录文件。
- 简介
GROOPS是由于奥地利格拉茨大学(TU Graz)、德国波恩大学等团队学者开发的开源的面向对象的重力场恢复的程序系统,主要代码为C++ 语言(+部分Fortran代码),功能包括:地球重力场恢复、精密单点定位(PPP)、低轨卫星定轨、局域椭球确定等。 - GROOPS安装(windows)
2.1 获取GROOPS源代码
开源代码下载地址:https://github.com/groops-devs/groops;
2.2 安装所需工具
GROOPS通过MSYS2安装所有所需工具,假设GROOPS源代码位于:c:\groops。安装步骤如下:
①下载MSYS2安装程序并按照安装指南安装;
②安装成功后,关闭MSYS2终端,打开MYSS2 MinGW64位终端;
③输入命令:pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake expat mingw64/mingw-w64-x86_64-openblas安装cmake、expat、OpenBLAS等;
④输入命令:pacman -S mingw-w64-x86_64-netcdf安装NetCDF库;
⑤输入命令:pacman -S tar make安装liberfa;
⑥分别输入以下命令,安装ERFA库:mkdir -p /c/groops/lib && cd /c/groops/lib;
wget https://github.com/liberfa/erfa/releases/download/v1.7.0/erfa-1.7.0.tar.gz;
tar -xvf erfa-1.7.0.tar.gz;
cd erfa-1.7.0;
./configure;
Make;
make install;
⑦下载安装微软MPI(下载后输入命令:pacman -S mingw-w64-x86_64-msmpi);
⑧输入以下命令生成目录并编译GROOPS:
mkdir /c/groops/source/build && cd /c/groops/source/build;
cmake.exe … -G “MinGW Makefiles” -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=“C:\groops”;
mingw32-make.exe -j4;
mingw32-make.exe install;
2.3 安装Qt和通用制图工具GMT(未完成)
GROOPS GUI基于Qt,下载并安装Qt(5.15.1版本以上);
通用制图软件GMT实际GROOPS的可选依赖项(6.0.0版本以上); - 程序功能分类
GROOPS由XML配置文件控制。一个或多个配置文件必须作为参数传递给GROOPS;这些文件通过GUI界面的方式创建,配置文件由一系列按顺序执行的程序组成,他们独立工作,程序之间没有任何内部通信,程序间的数据流动是通过文件实现的,即一个程序的输出文件作为下一个程序的输入文件;XML配置输入由两个解析器计算。第一步是应用文本解析器。在第二步中,数学表达式被解析为数字方式。全局变量中的基本数据类型充当解析器的输入变量。
GROOPS主要包含以下程序,且从程序命名可知各个程序主要功能,根据需要可进入对应程序阅读相关代码,主要统计分类如下:
3.1 Covariance