Ubuntu 20.04 系统如何优雅地安装NCL?

一、什么是NCL?

NCAR Command Language(NCL)是由美国大气研究中心(NCAR)推出的一款用于科学数据计算和可视化的免费软件。

它有着非常强大的文件输入和输出功能,可读写netCDF-3、netCDF-4 classic、HDF4、binary、ASCII数据,支持对HDF-EOS2、HDF-EOS5、GRIB1、GRIB2和OGR数据(Shapefile, MapInfo, GMT, TIGER)的读入操作,基本实现了无缝对接各类气象数据和模式数据。

在数据计算上,大气科学研究中几乎所有的常用计算方法都已被NCL集成至其内置的函数和程序中,比如经验正交函数分解(EOF)、奇异值分解(SVD)、功率谱分析,1维、2维、3维数据的插值,等等。

NCL是一种高级语言,但是在2020年NCL维护团队宣布转向Python,彻底作为放弃语言的身份,成为python的一个包,即地球科学社区分析工具包(GeoCAT),包括PyNGL、PyNIO、wrf-python 和 GeoCAT-Comp。

NCL目前已经停止更新,最后版本为6.6.2。因此,我们选择安装NCL6.6.2版本。

二、从预编译的二进制文件安装NCL(X)

从预编译的二进制文件安装NCL,也就是tar.gz文件,但是作者倒在了下载这一步,下载地址极其不稳定,多次尝试仍无法下载,即使使用魔法,也毫无作用。所以,直接推,放弃安装。

三、使用conda下载NCL(✓)

(一)安装conda

Conda 是一个包管理系统,使您能够通过"conda"命令轻松地从 UNIX 命令行安装软件:

首先通过minicondaAnaconda下载并安装 conda 。如果磁盘空间是一个问题(Anaconda 相当大),建议使用 miniconda,因为这是一个更小的系统,需要更少的磁盘空间。

bash 复制代码
# 更新系统包
sudo apt update
sudo apt upgrade
# 下载miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装过程中可以自定义安装路径,这里选择安装在 /home/ubuntu(用户名)/miniconda3。

得到:

为了能让所有用户都能使用Mniconda,要修改.bashrc 文件

bash 复制代码
# 打开.bashrc文件
vi ~/.bashrc
# 添加以下代码
export PATH=/home/ubuntu(用户名)/miniconda3/bin:$PATH
# 启动环境
source ~/.bashrc
bash 复制代码
# 查找conda
which conda
# 查看conda版本
conda --version

得到

(二)安装NCL

bash 复制代码
# 更新conda包
conda update -n root --all
# 创建名为:ncl_stable 环境 并安装ncl
conda create -n ncl_stable -c conda-forge ncl
# 激活环境
source activate ncl_stable   
bash 复制代码
#测试NCL.1
ncl -V

得到:

bash 复制代码
# 测试NCL.2
ncl $NCARG_ROOT/lib/ncarg/nclex/gsun/gsun02n.ncl
bash 复制代码
# 测试NCL.3
ncl $NCARG_ROOT/lib/ncarg/nclex/nug/NUG_multi_timeseries.ncl

得到:


当使用NCL时,则需要激活ncl_stable环境

python 复制代码
#激活环境
source activate ncl_stable   
#退出环境
conda deactivate

到这里,NCL的安装就结束了,祝大家使用愉快!

参考资料

1.使用conda安装NCL官方教程How to install NCL using condahttps://www.ncl.ucar.edu/Download/conda.shtml

相关推荐
熬夜苦读学习23 分钟前
Linux文件系统
linux·运维·服务器·开发语言·后端
沐千熏42 分钟前
Liunx(CentOS-6-x86_64)系统安装MySql(5.6.50)
linux·mysql·centos
黑牛先生2 小时前
【Linux】匿名管道
linux·运维·服务器
流星白龙2 小时前
【Linux】35.封装 UdpSocket(2)
linux·运维·windows
是码农没错了2 小时前
银河麒麟系统安装mysql5.7【亲测可行】
linux·运维·kylin
wzhao1012 小时前
WSL进阶使用指南
linux
风静如云3 小时前
OpenBMC:BmcWeb app.run
linux
数巨小码人3 小时前
Linux下文件权限与安全
linux
yuanbenshidiaos3 小时前
【进程 】
linux
ChoSeitaku4 小时前
12.重复内容去重|添加日志|部署服务到Linux上(C++)
linux·c++·windows