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,因为这是一个更小的系统,需要更少的磁盘空间。

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

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

得到:

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

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

得到

(二)安装NCL

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

得到:

# 测试NCL.2
ncl $NCARG_ROOT/lib/ncarg/nclex/gsun/gsun02n.ncl

# 测试NCL.3
ncl $NCARG_ROOT/lib/ncarg/nclex/nug/NUG_multi_timeseries.ncl

得到:


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

#激活环境
source activate ncl_stable   
#退出环境
conda deactivate

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

参考资料

1.使用conda安装NCL官方教程How to install NCL using condaicon-default.png?t=N7T8https://www.ncl.ucar.edu/Download/conda.shtml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch快速检索的法宝: 倒排索引

倒排索引(Inverted Index)是搜索引擎和信息检索系统中的一个关键数据结构,它允许快速进行全文搜索。在倒排索引中,文档的内容被分析并分割成一系列的词条(tokens),然后每个词条被映射到包含它的…

3048. 标记所有下标的最早秒数 I(补题 ,二分 正序 逆序)

3048. 标记所有下标的最早秒数 I 给你两个下标从 1 开始的整数数组 nums 和 changeIndices ,数组的长度分别为 n 和 m 。 一开始,nums 中所有下标都是未标记的,你的任务是标记 nums 中 所有 下标。 从第 1 秒到第 m 秒(包括 第…

Xinstall助力web唤起iOS,打破平台壁垒,实现无缝跳转

在移动互联网时代,web与App之间的跳转已成为用户日常使用中不可或缺的一部分。然而,对于iOS系统的用户来说,web唤起App的过程往往充满了挑战和不便。这时,Xinstall作为一款专业的移动开发者服务工具,为开发者们提供了解…

在taro开发小程序中,创建全局事件,更新各个tabbar页面数据,适用购物车更新,taro购物车数据同步

在 Taro 小程序开发中实现一个全局的订阅发布机制,可以让你在任何一个 TabBar 页面修改数据时,通知其他 TabBar 页面更新数据。这种机制可以通过自定义事件的方式来实现 步骤 1:创建全局事件管理器 首先,在你的小程序中创建一个…

Lua中文语言编程源码-第一节,更改llex.c词法分析器模块, 使Lua支持中文关键词。

源码已经更新在CSDN的码库里: git clone https://gitcode.com/funsion/CLua.git 在src文件夹下的llex.c,是Lua的词法分析器模块。 增加中文保留字标识符列表,保留英文保留字标识符列表。 搜索“ORDER RESERVED”,将原始代码 …

微信小程序开发学习笔记——3.10【小案例】表单提交样式布局与model双向绑定

>>跟着b站up主“咸虾米_”学习微信小程序开发中,把学习记录存到这方便后续查找。 课程连接:3.10.【小案例】表单提交样式布局与model双向绑定_哔哩哔哩_bilibili 一、model简易双向绑定 简单双向绑定语法查阅:小程序框架 / 视图层 /…

ARM和AMD介绍

一、介绍 ARM 和 AMD 都是计算机领域中的知名公司,它们在不同方面具有重要的影响和地位。 ARM(Advanced RISC Machine):ARM 公司是一家总部位于英国的公司,专注于设计低功耗、高性能的处理器架构。ARM 架构以其精简指…

如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序

返回目录:OpenCV系列文章目录(持续更新中......) 前一篇:OpenCV4.9.0在windows系统下的安装 后一篇: 警告: 本教程可以包含过时的信息。 我在这里描述的所有内容都将适用于 OpenCV 的C\C接口。我首先假…

图像处理ASIC设计方法 笔记10 插值算法的流水线架构

(一) 三次插值算法实现的图像旋转设计的流水线架构 传统上,三次插值算法实现的图像旋转设计需要三块一样的处理资源,为了节约资源,采用流水线设计,简单来讲就是三次插值算法共用一块资源,优化这…

Hive Sql获取含有特殊字符key的json数据

hive表中json数据的key含有.符号,所以使用get_json_object(str,“$.key_1.key_2”)语法的时候就会获取到null。解法是通过json_to_map方法将json数据变成一个map结果,然后用key下标的方式获取值,代码 json_to_map(str)["key_1.key_2]

mysql报错日志查看

路径命令 在MySQL命令行客户端中,执行SHOW VARIABLES LIKE log_error;这个命令可以显示log_error系统变量的值,这个值通常指向MySQL的错误日志文件(error log)的路径。通过这个命令,你可以快速找到MySQL的报错日志文件…

数据结构的概念大合集02(线性表)

概念大合集02 1、线性表及其逻辑结构1.1 线性表的定义1.2 线性表的基本操作 2、线性表的顺序存储结构2.1 顺序表 3、线性表的链式存储3.1 链表3.1.1 头结点(头指针),首指针,尾指针,尾结点3.1.2 单链表3.1.3 双链表3.1.…

软件供应链投毒 — NPM 恶意组件分析(二)

聚焦源代码安全,网罗国内外最新资讯! 专栏供应链安全 数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。 随…

瑞熙贝通实验室安全培训考试系统

一、系统概述 瑞熙贝通实验室安全培训考试系统是一种基于互联网和人工智能技术的在线考试平台,旨在旨在提供实验室安全教育和考核的全面解决方案。该系统可以帮助实现实验室安全培训考试的在线化、智能化和规范化,提高实验室安全意识和能力,…

IntelliJ IDEA 面试题及答案整理,最新面试题

IntelliJ IDEA中的插件系统如何工作? IntelliJ IDEA的插件系统工作原理如下: 1、插件架构: IntelliJ IDEA通过插件架构扩展其功能,插件可以添加新的功能或修改现有功能。 2、安装和管理: 通过IDEA内置的插件市场下载…

【机器学习】1 机器学习概述

1.机器学习、人工智能、深度学习的关系 机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法 2.人工智能的起点 1956年,达特茅斯会议,主题是:用机器来模仿人类学习以及他方面的智能。 3.人工智能的三大流派 符号主义学派:由心…

第二门课:改善深层神经网络<超参数调试、正则化及优化>-超参数调试、Batch正则化和程序框架

文章目录 1 调试处理2 为超参数选择合适的范围3 超参数调试的实践4 归一化网络的激活函数5 将Batch Norm拟合进神经网络6 Batch Norm为什么会奏效?7 测试时的Batch Norm8 SoftMax回归9 训练一个SoftMax分类器10 深度学习框架11 TensorFlow 1 调试处理 需要调试的参…

R语言深度学习-5-深度前馈神经网络

本教程参考《RDeepLearningEssential》 本篇我们将学习如何建立并训练深度预测模型。我们将关注深度前馈神经网络 5.1 深度前馈神经网络 我们还是使用之前提到的H2O包,详细可以见之前的博客:R语言深度学习-1-深度学习入门(H2O包安装报错解决…

用 Visual Studio 调试器中查看内存中图像

返回目录:OpenCV系列文章目录(持续更新中......) 前一篇:OpenCV4.9.0在windows系统下的安装 后一篇: ​警告 本教程可以包含过时的信息。 Image Watch 是 Microsoft Visual Studio 的插件,可用于在调…

Webapi(.net6) 批量服务注册

如果不考虑第三方库,如Autofac这种进行服务注入,通过本身的.Core Weabpi实现的,总结了两种实现方法, 1.一种是参考abp框架里面的形式; 1.1 新建个生命周期的文件夹: 三个接口分别为: public interface IScopedDependency { }pu…