如何在linux里面运行ncl,NCL基础讲解(二)——NCL安装与运行

NCL基础讲解(二)——NCL安装与运行

兰溪之水2015-11-04

a4c26d1e5885305701be709a3d33442f.png

上一期已经给大家简单介绍了NCL的基本情况,既然NCL在科学数据分析和可视化方面有那么多优点,那还等什么,让我们一起“用”起来吧!

这一期给大家介绍NCL的安装与运行。关于NCL的安装一般有两种方式,一种是通过源码的编译,但源码编译比较复杂,依赖的库比较多,编译时间较长,兰溪也只是借助大气所董理老师开发的packman(http://dongli.github.io/packman/zh/documentation.html)编译过一次,所以并不推荐这种方式安装NCL;另一种常用的方式就是下载官方提供的预编译包,解压,设置环境变量即可完成安装。兰溪在此简单介绍下第二种方式:

①下载与机器相匹配的预编译包

我们可以下载当前最新版本(NCLVersion

6.3.0:https://www.earthsystemgrid.org/dataset/ncl.630.html),预编译包分为两种,一种是支持读取在线数据服务器数据的(OPeNDAP-enabled),另一种是不支持的(notOPeNDAP-enabled),至于选择哪一种,根据个人需求,你若是强迫症,想功能全一点,那就选OPeNDAP-enabled的,其实兰溪也喜欢功能全一点的^_^。这里以Linux平台为例,首先查看下机器信息和gcc版本:

a4c26d1e5885305701be709a3d33442f.png其实兰溪用的是CentOS7.0,x86_64,gcc483,咋一看,完了,网站上只有ncl_ncarg-6.3.0.Linux_CentOS7.0_x86_64_gcc482.tar.gz,怎么办,怎么办!没关系,今年就一定不能穿去年买的衣服了吗,节俭一点还是能穿的哈→_→!所以找相近版本就好啦!当然有时版本相差太多还是不行滴!

②解压并设置环境变量

首先新建一个目录,比如ncl-6.3.0,然后把下载的压缩包解压到该目录下:

a4c26d1e5885305701be709a3d33442f.png解压完后,ncl-6.3.0目录下有三个目录bin,include,lib

a4c26d1e5885305701be709a3d33442f.png简单的测试,我们可以直接按如下执行进入交互操作:

a4c26d1e5885305701be709a3d33442f.png如果没有提示任何错误,成功进入交互式操作的话,基本可以确定下载的预编译包能在你的机器上正常使用了!

设置环境变量:

若使用csh/tcsh的在~/.cshrc添加:

setenvNCARG_ROOT /home/test/ncl-6.3.0

setenv PATH

$NCARG_ROOT/bin:$PATH

若使用bash的在~/.bashrc添加:

export

NCARG_ROOT=/home/test/ncl-6.3.0

export

PATH=$NCARG_ROOT/bin: $PATH

设置完成后,运行source~/.cshrc或source~/.bashrc,使环境变量生效。

③ 把".hluresfile"文本文件放到用户目录下

官网提供一个默认的该文件(http://www.ncl.ucar.edu/Document/Graphics/hluresfile),该文件主要设置一些默认的配置,比如背景色,前景色,默认字体等,一般情况下只要把官网提供的默认配置文件放到用户目录下即可(~/.hluresfile),详细的说明可参考:http://www.ncl.ucar.edu/Document/Graphics/hlures.shtml

测试

对NCL的简单测试可以命令行输入

ng4ex

gsun01n

若出现绘图窗口即说明已经成功安装。

a4c26d1e5885305701be709a3d33442f.png其实NCL的安装目录($NCARG_ROOT/lib/ncarg/nclex)下也提供了很多例子,随便运行一个脚本,如ncl$NCARG_ROOT/lib/ncarg/nclex/basic/basic05n.ncl,也可以做一些简单的测试。

至此,NCL的安装步骤全部完成啦!那是不是该进入运行环节了?大哥,如果上面的步骤你都完成了,你觉得还需要再讲怎么运行NCL么!交互式和批处理式你都玩过了~好吧,兰溪就再啰嗦讲一点点吧~

NCL的执行,一般有两种方式:交互式和批处理式。好像太专业了?简单来讲,直接命令行输入ncl回车,即可进入NCL的交互模式,接着在窗口输入一个语句,执行一下,输入一句,执行一下;批处理式就是把我们要执行的语句都写在一个文本文件里面,然后简单地用“ncl

脚本名”即可运行这个脚本文件。咦?那岂不跟GrADS很像?是的,就跟GrADS,Matlab,Python类似。上一期也讲到了,解释性语言不需要预编译,写一句执行一句,所以存在这两种方式很正常啊~突然脑洞大开,是不是所有的解释性语言都有这两种方式?应该是吧。。。兰溪不是专业的→_→,总之不用兰溪推荐,我想大家也会自觉地用批处理式~

广告时间:

NCL的安装与运行就讲到这里啦,广告时间到了!前面兰溪提到了大气所董理老师开发的packman包管理器,packman可以简单的一键安装很多我们平时常用到的软件,比如安装NCL,直接执行packmaninstall

ncl即可,详细可查阅http://dongli.github.io/packman/zh/documentation.html。董老师也建了个QQ群为大家解答使用过程中遇到的问题(QQ群PACKMAN:428740238)。

大家平时绘图或模式方面遇到问题,欢迎前往气象家园论坛(http://bbs.06climate.com/forum.php)讨论,要是有原创经验分享就更好了^_^~

下期预告:

安装都讲完了,下期讲什么?学习语言好像很流行“一张图xxx入门”,那下期兰溪也给大家来个“一张图NCL入门”吧,你准备好了吗(^__^)~

延伸阅读:

Windows上安装NCL:http://www.ncl.ucar.edu/Download/cygwin.shtml

MacOSX上安装NCL:http://www.ncl.ucar.edu/Download/macosx.shtml

NCL命令行选项和参数:http://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclCLO.shtml

——————————————————————————————————[本文作者(兰溪之水)保留著作权和最终解释权,已授权大气科学进展官方微博和气象家园微信公众号首发。本文可用于教育,科研等非商业用途转载,转载请务必注明来源并附有原文链接。商业用途转载请提前与本文作者联系,经允许后方可转载,如有违反,本文作者保留权利]

a4c26d1e5885305701be709a3d33442f.png

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

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

相关文章

C#值类型和引用类型的不同

1 C#中有两种类型: 值类型和引用类型: 值类型的变量直接包含他们的数据,引用类型存储对他们的数据的引用,后者称为对象: 简单说:值类型直接存储其值,引用类型存储对值得引用.引用类型分为引用和引用的对象。2…

linux malloc命令,减少 curl 中内存分配操作(malloc)

今天我在 libcurl 内部又做了一个小改动,使其做更少的 malloc。这一次,泛型链表函数被转换成更少的 malloc (这才是链表函数应有的方式,真的)。研究 malloc几周前我开始研究内存分配。这很容易,因为多年前我们 curl 中就已经有内存…

flume linux 命令,flume启动命令 · Mr.Deng’s Blog

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?突然发现拖了很久的flume启动命令了,今天就简单讲讲flume的启动命令吧。如何启动flumeflume目录以上是安装flume的目录,flume的启动主要是在…

stm32 IAP + APP ==双剑合一

(扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级程序做了详细的分析http://blog.csdn.net/yx_l128125/article/details/12992773,考虑到出厂时要先烧写IAP 再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“…

花旗linux 内核 如何调试,揭秘首个运行在Linux平台的核心银行系统

上个星期社区进行了一场直播,关于“新一代核心银行系统解决方案CBOD”——首个运行在Linux平台的核心银行系统。国外上线Linux核心系统的银行已经不少,例如花旗银行在主机系统上装载了Linux系统,处理所有信用卡交易和认证交易,但国…

360发布穿戴设备“儿童卫士”手环

10月29日下午消息,360今日召开发布会发布“儿童卫士”手环,可随时定位孩子位置,并具备安全区域预警、通话连接等功能。这款手环售价199元,将于12月开始销售。 据360透露,儿童卫士具备三大功能: 一、随时定位…

layout_gravity 和 gravity

LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity。 他们的区别在于: android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置&…

如何用Jquery做图片展示效果

一. 前言 到底用JQuery做出怎样的展示效果? 让我们先来看一下!网页加载时,如图所示: 二.本人思路 这个效果初学者看起来好像有点复杂,其实不太难,关键是理清思路,从后端的数据库中找出我们要展示的图档,将…

linux版本的redis bin,Linux下安装Redis4.0版本(简便方法)

Redis介绍:Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化RDB和AOF,可以将内存中的数据保存在磁盘中,重启的…

win7创建虚拟无线网络

如何用WIN7建立无线热点,供没有无线网的我们在家里轻松使 如何用WIN7建立无线热点,供没有无线网的我们在家里轻松使用,不过你家得有宽带吧!《转》来源: 董昱的日志开启windows 7的隐藏功能:虚拟WiFi和SoftA…

OpenCV图像分割-watershed

转自:Tiger & Pi http://blog.163.com/my_645/blog/static/369785222013310619742/Watershed就是传说中的分水岭算法, 它将一幅图像看成是一块有湖泊和山川组成的地形。 图像灰度值大的像素对应海拔高的山地, 灰度值低的像素对应于海拔低…

MyEclipse下安装MyBatis Generator代码反向生成工具

在http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/下载 features/plugins/里面所有的jar包,新建一个mybatis-generator文件夹,把features跟plugins都丢到mybatis-generator文件夹中,把mybatis-generato…

linux的rootkit工具包,免费Linux杀毒软件Anti-Virus分享

ClamAVClamAV是一个免费的、开源的、通用的Linux系统杀毒工具包。它被用于检测木马,病毒,恶意软件和其他恶意威胁。是邮件网关扫描软件的标准;它支持几乎所有的邮件文件格式。它的主要功能有:它是跨平台的,适用于Linux、Windows和…