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 命令行安装软件:

首先通过miniconda 或Anaconda下载并安装 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

相关推荐
羔羊++2 小时前
26_实验二十五_busybox构建根文件系统
linux
xUxIAOrUIII2 小时前
日常笔记-1005-1
linux·笔记·python·macos
nazisami2 小时前
程序地址空间
linux·虚拟地址
不会就选b2 小时前
Linux之TCP<2>
linux·网络·tcp/ip
沫璃染墨3 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
墨家句子3 小时前
4G 显存老显卡怎么跑模型:llama.cpp 加 GGUF 配置
linux·后端
2601_962885725 小时前
如何用 Python 统计 A 股连续涨停(几连板)?
java·linux·python
H.莓飛5 小时前
【数据结构】二叉树
linux·数据结构·算法
荣合技术服务5 小时前
VMware ESXi 虚拟化平台服务器虚拟机数据恢复服务
linux·运维·服务器
杭州领祺科技5 小时前
保信子站深度解析:继电保护信息采集与故障诊断的关键枢纽
linux·服务器·网络·新能源·储能·虚拟电厂