当前位置: 首页 > news >正文

服务器安装 LDOPE(MODIS 数据处理工具)

目录

  • 下载方式1-(简单快捷)
    • 根据WRF-VPRM 需要打补丁
  • 下载方式2:(手动安装依赖)
    • 一、安装所需依赖库(4 个主库 + 2 个基础库)
      • 另- HDF-EOS 手动编译
    • 二、解压并安装 LDOPE
  • 参考

下载方式1-(简单快捷)

LDOPE-Land Data Operational Products Evaluation

在这里插入图片描述
1. 下载并解压文件

wget https://lpdaac.usgs.gov/documents/208/LDOPE-1.7-linux-x64-installer.run.zip
unzip LDOPE-1.7-linux-x64-installer.run.zip

2. 给 .run 文件添加执行权限

打开终端,进入该文件所在的目录,然后执行:

chmod +x LDOPE-1.7-linux-x64-installer.run

3. 运行安装程序

继续在终端中执行:

./LDOPE-1.7-linux-x64-installer.run

这将启动图形界面的安装程序(或命令行安装界面,取决于打包方式),你只需按照提示进行安装即可。

在这里插入图片描述
4. 安装完成后设置环境变量(如有必要)

安装完后,通常会提示你软件安装在哪个目录,比如:

/home/yourname/LDOPE/

你可以将其添加到环境变量中,确保可以在任何地方通过命令行调用工具。例如:

export PATH=$PATH:/home/yourname/LDOPE/bin

可以将这行添加到你的 ~/.bashrc~/.zshrc 文件中,以便每次启动终端时自动生效。

根据WRF-VPRM 需要打补丁

VPRM 预处理器对 LDOPE 的两个源文件做了修改:

  • math_sds.c
  • cp_proj_param.c

VPRM 预处理器的源代码中已经有了对应的补丁文件:

  • math_sds.patch
  • cp_proj_param.patch

它们的作用是将这些修改应用到 LDOPE 的源代码中,然后重新编译 LDOPE。

1. 找到 LDOPE 源代码目录

默认情况下,安装 .run 文件后,LDOPE 会安装在某个目录中,比如:

~/LDOPE/

你需要找到其中包含 math_sds.ccp_proj_param.c 的目录,通常在:

~/LDOPE/src/
$HOME/vprm_project/tools/LDOPE-1.7/src/

2. 将 patch 文件复制到 LDOPE 源代码目录

cp $HOME/vprm_project/WRF-VPRM/*.patch $HOME/vprm_project/tools/LDOPE-1.7/src/
cd $HOME/vprm_project/tools/LDOPE-1.7/src/

3. 应用补丁

src/ 目录下执行以下命令:

patch < cp_proj_param.patch
patch < math_sds.patch

如果成功,终端将显示类似:

patching file cp_proj_param.c
patching file math_sds.c

若提示类似 Reversed (or previously applied) patch detected!,说明补丁可能已经应用过,无需重复。

4. 重新编译 LDOPE

通常在源代码目录下有 Makefile,你只需要运行:

make clean
make

如果没有 Makefile,你可能需要手动编译:

gcc -o cp_proj_param cp_proj_param.c
gcc -o math_sds math_sds.c

或者参考源代码中的编译说明(如 READMEINSTALL 文件)。

下载方式2:(手动安装依赖)

官方页面-LDOPE(Land Data Operational Product Evaluation)Tools

在这里插入图片描述

LDOPETools_V3.6.tar.gz

是一个有效的工具包压缩文件,包含了 NASA 提供的 MODIS 和 VIIRS 数据质量评估工具。

一、安装所需依赖库(4 个主库 + 2 个基础库)

1. 所需库列表

库名说明下载地址
HDF4支持 HDF-EOS2 的底层库HDF4 下载
HDF-EOS2基于 HDF4 的 EOS 数据结构支持HDFEOS2 下载
HDF5支持 HDF-EOS5 的底层库HDF5 下载
HDF-EOS5基于 HDF5 的 EOS 数据结构支持HDFEOS5 下载
libjpegJPEG 图像压缩支持库(HDF4 依赖)jpegsrc.v6b.tar.gz
zlib压缩支持库(HDF4 和 HDF5 依赖)zlib.net
# 安装基础依赖
conda install -c conda-forge libjpeg zlib# 安装 HDF4 / HDF5
conda install -c conda-forge hdf4 hdf5# 安装 HDF-EOS2 / HDF-EOS5
conda install -c conda-forge hdfeos2 hdfeos5
source load_vprm_env.shecho $HDF_INC
which get_sds_infols $CONDA_PREFIX/include/hdf.h          # HDF4
ls $CONDA_PREFIX/include/H5public.h     # HDF5
ls $CONDA_PREFIX/include/HE2_config.h   # HDF-EOS2
ls $CONDA_PREFIX/include/HE5_config.h   # HDF-EOS5
ls $CONDA_PREFIX/lib/libjpeg.*          # libjpeg
ls $CONDA_PREFIX/lib/libz.*             # zlib

2. 目录结构建议

~/vprm_project/
├── tools/
│   ├── hdf4/
│   ├── hdfeos2/
│   ├── hdf5/
│   ├── hdfeos5/
│   ├── jpeg/
│   ├── zlib/
│   └── LDOPEtools_V3.6/

3. 安装步骤(以源码编译方式为主)

Step 1:编译安装 JPEG 和 Zlib(基础库)

安装 libjpeg:

wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar -xvzf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=$HOME/vprm_project/tools/jpeg
make && make install

安装 zlib:

wget https://zlib.net/zlib.tar.gz
tar -xvzf zlib.tar.gz
cd zlib-*
./configure --prefix=$HOME/vprm_project/tools/zlib
make && make install
# HDFEOS2
./configure --prefix=$HOME/vprm_project/tools/hdfeos2 \--with-hdf4=$HOME/vprm_project/tools/hdf4
make && make install# HDFEOS5
./configure --prefix=$HOME/vprm_project/tools/hdfeos5 \--with-hdf5=$HOME/vprm_project/tools/hdf5
make && make install

另- HDF-EOS 手动编译

How to build HDF-EOS
在这里插入图片描述

1、安装并编译 HDF-EOS2

tar -xvzf hdf-eos2-3.0-src.tar.gz
cd hdf-eos2-3.0# 创建安装目录(可选)
mkdir -p ~/vprm_project/tools/hdfeos2# 配置,指定 HDF4 路径(这里用 Conda 安装的 HDF4)
./configure \--prefix=$HOME/vprm_project/tools/hdfeos2 \--with-hdf4=$CONDA_PREFIX \CC=${CC:-gcc} \CFLAGS="-I$CONDA_PREFIX/include" \LDFLAGS="-L$CONDA_PREFIX/lib"# 编译
make -j$(nproc)# 安装
make install
ls ~/vprm_project/tools/hdfeos2/include/HE2_config.h
ls ~/vprm_project/tools/hdfeos2/lib/libhe2.*

2、安装并编译 HDF-EOS5

在这里插入图片描述

# 解压源码包
tar -xvzf hdf-eos5-2.0-src.tar.gz
cd hdf-eos5-2.0# 创建安装目录(可选)
mkdir -p $HOME/vprm_project/tools/hdfeos5# 配置,指定 HDF5 路径(通过 Conda 安装的 HDF5)
./configure \--prefix=$HOME/vprm_project/tools/hdfeos5 \--with-hdf5=$CONDA_PREFIX \CC=${CC:-gcc} \CFLAGS="-I$CONDA_PREFIX/include" \LDFLAGS="-L$CONDA_PREFIX/lib"# 编译
make -j$(nproc)# 安装
make install

安装完成后验证:

# 头文件
ls $HOME/vprm_project/tools/hdfeos5/include/HE5_config.h# 库文件
ls $HOME/vprm_project/tools/hdfeos5/lib/libhe5.*

添加环境变量(建议加到 load_vprm_env.sh):

export HDFEOS5_INC=$HOME/vprm_project/tools/hdfeos5/include
export HDFEOS5_LIB=$HOME/vprm_project/tools/hdfeos5/lib

二、解压并安装 LDOPE

以下是标准的安装流程,当前目录为:

$HOME/vprm_project/tools
cd ~/vprm_project/tools# 解压
tar -xvzf LDOPETools_V3.6.tar.gz

这将解压出类似结构的目录,例如:

LDOPETools_V3.6/
├── bin/
├── include/
├── lib/
├── doc/
└── src/

进入文件地址,并开始安装:

cd $HOME/vprm_project/tools/LDOPE_tools_V3.6/src/
cd ~/vprm_project/tools/LDOPEtools_V3.6/src
make

如果你下载了测试包 LDOPE_tools_V3.6_test_pkg.tar.gz,可以解压并运行测试:

tar -xvzf LDOPE_tools_V3.6_test_pkg.tar.gz
cd LDOPE_tools_V3.6_test_pkg/
less README
which get_sds_info
get_sds_info -hwhich cp_proj_param
cp_proj_param -h

参考


文章转载自:

http://2963m0s2.mfnjk.cn
http://8nd1QjQR.mfnjk.cn
http://F0Z7s8yM.mfnjk.cn
http://gd114FaB.mfnjk.cn
http://IWItzL6H.mfnjk.cn
http://6FpG2ZJP.mfnjk.cn
http://zcmmbFhG.mfnjk.cn
http://IAKP6DvF.mfnjk.cn
http://U3SsjahJ.mfnjk.cn
http://jnj2l9J8.mfnjk.cn
http://ibg2JB4y.mfnjk.cn
http://QGwLbSi7.mfnjk.cn
http://iadsPs0v.mfnjk.cn
http://QD15ReXQ.mfnjk.cn
http://1cFL7dGi.mfnjk.cn
http://n52fJCSD.mfnjk.cn
http://nxSHDdxx.mfnjk.cn
http://LTNa2tIz.mfnjk.cn
http://jJ4YFPpK.mfnjk.cn
http://IWeWvAu3.mfnjk.cn
http://aZrh5qY6.mfnjk.cn
http://r4lQ4fdj.mfnjk.cn
http://5BZ6UxSb.mfnjk.cn
http://AzTab3m5.mfnjk.cn
http://ON2J2gx3.mfnjk.cn
http://RWmdUYmB.mfnjk.cn
http://5seeFked.mfnjk.cn
http://QqokJKpz.mfnjk.cn
http://oGaERWWq.mfnjk.cn
http://V078t3Dv.mfnjk.cn
http://www.dtcms.com/a/373108.html

相关文章:

  • 动态线程池中修改核心线程数比当前线程数要少,会不会影响正在执行的线程任务
  • Axum文档 ~ 2.路由
  • 【C++】IO库
  • 常见的显示器接口技术
  • 如何在本地机器上使用LLM构建知识图谱(一)
  • 论文阅读:ACL 2023 MPCHAT: Towards Multimodal Persona-Grounded Conversation
  • Java全栈开发工程师的实战面试:从基础到微服务
  • 向量回归策略
  • 【数据库】时序数据库科学选型,以IoTDB构筑大数据时代的时序数据底座
  • MAUI劝退:安卓实体机测试
  • Day8 C++
  • 在线教程 | VibeVoice-1.5B独创双Tokenizer架构实现一次性生成90分钟4人对话语音,重新定义TTS技术边界
  • 《练手:ipv4地址计算和Telnet 远程设备管理配置实验文档》
  • [论文阅读] 人工智能 + 软件工程 | TDD痛点破解:LLM自动生成测试骨架靠谱吗?静态分析+专家评审给出答案
  • 【计算机网络 | 第10篇】信道复用技术
  • Pytest+requests进行接口自动化测试1.0(基础知识 + 测试用例 + request库)
  • 使用 OpenLayers + 高德瓦片源实现旅游足迹地图
  • 2025年体制内职业发展相关资格认证参考指南
  • window显示驱动开发—监视筛选器驱动程序(三)
  • 计算机网络:数据链路层--数据链路层基本功能
  • 第二课、熟悉Cocos Creator 编辑器界面
  • [Wit]CnOCR模型训练全流程简化记录(包括排除BUG)
  • JavaEE 进阶第四期:开启前端入门之旅(四)
  • TFS-2004《Input Selection for Nonlinear Regression Models》
  • esp下载器使用流程
  • 3dtiles 加载问题
  • 3D地球可视化教程 - 第1篇:基础地球渲染系统
  • 单片机开发
  • LLMs之REFRAG:《REFRAG: Rethinking RAG based Decoding》的翻译与解读
  • MATLAB的数值计算(二)线性方程求解