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

Ubuntu20.24 安装ecCodes,包括 tar.gz 和 python(笔记)

这里写目录标题

  • 动机
  • 为此找了解决方案。废话不多说,如下:
    • 1. 下载 ecCodes 的源文件,网址如下: https://confluence.ecmwf.int/display/ECC/Releases
    • 2. 解压包:
    • 3. 创建 ecCodes 的安装目录:
    • 4. 通过 cmake 安装 :
    • 5. 编译, 测试,安装:
    • 6.最后为Python 安装 eccodes
    • 7. 添加环境变量作为默认
  • 具体看官网:https://confluence.ecmwf.int/display/ECC/Releases,我只是搬运工,做笔记。

动机

我的Ubuntu系统提示 grid_copy 找不到,具体问题如下:

./pre_era5.sh: line 78: grib_copy: command not found
./pre_era5.sh: line 84: codes_split_file: command not found
./pre_era5.sh: line 84: codes_split_file: command not found
./pre_era5.sh: line 84: codes_split_file: command not found
./pre_era5.sh: line 84: codes_split_file: command not found
ls: cannot access 'OUTPUTS/2d.grb_*': No such file or directory

因为 找不到 grib_copy,所以最终报错。

为此找了解决方案。废话不多说,如下:

1. 下载 ecCodes 的源文件,网址如下: https://confluence.ecmwf.int/display/ECC/Releases

2. 解压包:

# 安装环境
sudo apt install build-essential gcc gfortran cmake git subversion libnetcdff-dev libnetcdf-c++4-dev libopenmpi-dev netcdf-bin nco cdo ncl-ncarg libxml2 libxml2-utils liblapack-dev libblas-dev 
# 解压包
cd /home/user/ecmwf/
cp ~/Download/eccodes-2.32.1-Source.tar.gz
tar -zxvf eccodes-2.32.1-Source.tar.gz

3. 创建 ecCodes 的安装目录:

mkdir /home/user/ecmwf/eccodes
cd /home/user/ecmwf/eccodes

4. 通过 cmake 安装 :

cmake ../eccodes-2.32.1-Source -DCMAKE_INSTALL_PREFIX=/home/user/ecmwf/eccodes

5. 编译, 测试,安装:

make
ctest
make install

6.最后为Python 安装 eccodes

### 我的环境:python3.7 Anaconda3-2019-10
python -m pip install eccodes

python -m pip install --install-option="--prefix=/home/user/ecmwf/eccodes" eccodes

7. 添加环境变量作为默认

vim ~/.bashrc
# 在最末尾添加以下内容
# >>> eccodes initialize >>>
export ECCODES_DIR=/home/user/ecmwf/eccodes
export LD_LIBRARY_PATH=$ECCODES_DIR/lib
export PATH=$ECCODES_DIR/bin:$PATH

具体看官网:https://confluence.ecmwf.int/display/ECC/Releases,我只是搬运工,做笔记。


http://www.kler.cn/news/155964.html

相关文章:

  • [网络安全]dos命令
  • Sakila数据库和World数据库
  • Vue+ElementUI+C#前后端分离:监控长耗时任务的实践
  • [足式机器人]Part4 南科大高等机器人控制课 Ch00 课程简介
  • C语言,求取数组的序亏:已知一个整数数组,求出个数组中每个元素在整个 数组的排序。
  • 鸿蒙(HarmonyOS)应用开发——构建页面(题目答案)
  • 93. 复原 IP 地址
  • 华为手环配置技巧
  • Java 中 IO 流分为几种?
  • 【算法思考记录】力扣1423. 可获得的最大点数[Python3, 滑动窗口]
  • golang 实现单向链表(lru)、双向链表、双向循环链表
  • Error:cannot launch node of type [map_server/map_server]
  • A++ 敏捷开发-1 如何改善
  • 常微分方程组的数值解法(C++)
  • WPS开发文档
  • Android:BackStackRecord
  • KALI LINUX安全审核
  • 实时设计#N3期训练营DONE,ComfyUI中文社区@上海
  • 再谈项目管理中的效率问题
  • “此应用专为旧版android打造,因此可能无法运行”,问题解决方案
  • 并发编程1:线程的基本概念
  • C# 使用HtmlAgilityPack解析提取HTML内容
  • 爬虫伦理与法律:确保数据采集合法性与伦理性
  • Unity工具脚本-检测资源文件夹是否有预制件是指定层级
  • 深入了解Java8新特性-日期时间API之ZonedDateTime类
  • 【Arduino库之:FastLED库】
  • SCAU:数字字符序列2
  • Linux(13):例行性工作排程
  • 前后端分离部署https
  • qt-C++笔记之组件-分组框QGroupBox