NCL基本使用及实例演示
NCL基本使用及实例演示
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
2
10年9月9日星期四
• NCL的网站 • NCL的下载及安装 • NCL的基本语言特性 • NCL的实例
3
10年9月9日星期四
4
10年9月9日星期四
5
10年9月9日星期四
6
10年9月9日星期四
7
10年9月9日星期四
8
10年9月9日星期四
9
10年9月9日星期四
contributed.ncl - 一些用户贡献的脚本
clmDayTLL(函数) /Document/Functions/Contributed/index.shtml 16
10年9月9日星期四
NCL基本语言特性
一、读入数据
自描述数据格式:NetCDF、HDF 、GRIB f = addfile(“<目录>/<文件名>.<扩展名>”, “<文件模式>”)
11
10年9月9日星期四
NCL的安装
下载需要在ESG网站上注册用户,根据需要下载相应的压缩包 NCL无须编译,直接解压缩即可
安装:(对于Windows,需要安装Cygwin/X,比较繁琐,但也是可以安装)
> tar xzf ncl_ncarg-5.2.1.<...>.tar.gz -C <存放目录> > cd ~; vi .bashrc export NCARG_ROOT=<存放目录> export PATH=$PATH:$NCARG_ROOT/bin 可能遇到无法找到库的问题,应根据实际情况安装相应库
ncl绘图基本流程
ncl绘图基本流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!NCL(NCAR Command Language)是一种专门用于气象、海洋和气候数据处理和可视化的编程语言。
ncl积分函数
NCL积分函数引言NCL(Nested Control Language)是一种编程语言,由美国国家中心台风预报(National Center for Atmospheric Research Tropical Cyclone Guidance)开发。
NCL积分函数是NCL提供的一个功能强大的运算函数,用于在指定区间内对给定的函数进行积分计算。
本文将详细介绍NCL积分函数的用法、参数和示例。
一级标题二级标题1三级标题11.NCL积分函数的概念NCL积分函数是用于数值积分的功能函数,可以对指定区间内的函数进行积分计算。
积分函数采用数值计算方法,通过将指定区间划分为若干小区间,在每个小区间上进行函数值的计算并求和,得到近似的积分值。
2.NCL积分函数的语法NCL积分函数的语法如下:result = integ(fn, a, b [, option=value])参数说明:•fn:需要积分的函数,可以是NCL提供的内置函数,也可以是用户自定义的函数。
•a:积分区间的起始值。
•b:积分区间的结束值。
•option=value:可选参数,用于指定积分函数的一些选项。
3.NCL积分函数的选项NCL积分函数提供了一些选项,用于控制积分过程的精度和计算方式。
常用的选项包括:•epsilon:精确度控制参数,用于控制积分的精度。
默认值为1e-6,可以根据需要进行调整。
•method:积分方法参数,用于指定使用的积分方法。
NCL积分函数支持的方法有:hermite、glau、spline等。
二级标题2三级标题21.NCL积分函数的使用步骤使用NCL积分函数进行数值积分的步骤如下:•导入NCL积分函数库:在NCL程序开头,需要导入NCL积分函数库,以便可以使用相关的积分函数。
•定义需要积分的函数:根据实际问题,定义需要进行积分的函数。
可以是NCL内置函数,也可以是用户自定义函数。
•调用积分函数:使用integ函数调用NCL积分函数,传入需要积分的函数以及积分区间的起始值和结束值。
NCL学习笔记(实战篇)
这里以绘制气温分布图为例,效果如下图:X 这里几点说明:1.ncl不支持中文显示,所有文字都是英文,但是支持很多样式的字体,参考2.图下方的labelbar只能在图的周围,不能放置在图内。
要想显示图下方的图例,就要使用legend而不是labelbar了。
使用NCL脚本绘制一张如上图所示的png图片主要分为以下几个步骤一、读取各站点的气温数据。
二、将站点数据使用各种差值函数转换成格点数据。
三、使用源对地图进行基本设置四、使用源对等值线填充进行基本设置五、使用源对labelbar进行基本设置六、生成png图片接下来将按照这几个步骤,详细介绍。
一、读取各站点的气温数据NCL支持的数据格式主要有netCDF文件(.nc .cdf)、HDF4(.hd .hdf)、HDF4-EOS(.hdfeos)、GRID-1/GRIB-2(.grb.grib)、CCMHistory Tape(.ecm),除此之外呢,它支持二进制文件和ascii文件,这两者是我们最熟悉的。
这里我们使用ascii文件,更多文件读取方式参考/Applications/list_io.shtml为了批量生成产品图片,需要配置文件设置数据来源以及图片生成后存放位置。
config.txt文件如下:One Hour of Temperature2010111502./t1//root/WorkSpace/MICAPS_surface/t1/10111502.000第一行是标题第二行是输出png图路径第三行是输入数据文件路径第四行是数据文件名在NCL脚本(temperature.ncl)中使用以下几行代码就可以了filepath = './config.txt' ;参数文件路径argu = asciiread(filepath,-1,'string') ;以字符串形式读取参数文件入数组argu lines = asciiread(argu(2)+argu(3),-1,'string') ;以字符串形式读取数据文件入数组linesstation = stringtofloat(str_get_field(lines(3::),1,' ')) ;从数组lines中获取站号lon = stringtofloat(str_get_field(lines(3::),2,' ')) ;从数组lines中获取经度值lonlat = stringtofloat(str_get_field(lines(3::),3,' ')) ;从数组lines中获取纬度值lat height = stringtofloat(str_get_field(lines(3::),4,' ')) ;从数组lines中获取海拔高度R = stringtofloat(str_get_field(lines(3::),5,' ')) ;从数组lines中获取站点数据值由于数据文件10111502.000的前3行是文件头,不包含数据,因此lines从第三行开始读取数据。
Windows平台上NCL的安装
图文详解Windows平台上NCL的安装NCL在Linux下的安装非常容易,只需下载适当版本的文件,设置好环境变量即可使用。
NCL在Windows下的安装则要麻烦一些,需要先安装一个虚拟Linux环境(Cygwin/X)。
以下内容详细介绍NCL在Windows平台上的安装过程,希望仅具备Windows基本操作技能的用户也能轻松安装NCL。
一、NCL简介二、准备工作三、安装Cygwin/X四、熟悉Cygwin/X环境五、安装NCL六、运行NCL范例七、语法高亮显示(此部分供有兴趣的用户参考)八、.hluresfile文件(此部分供有兴趣的用户参考)九、FAQ十、获取帮助一、NCL简介NCL(NCAR Command Language)是由NCAR的“Computational & Information Systems Laboratory”开发的。
NCL是一种编程语言,专门用于分析和可视化数据。
主要用于以下三个领域:文件输入/输出(File input and output):资料处理(Data processing):图形显示(Graphical display):可生出出版级别的黑白、灰度或彩色图。
从5.0起,NCL和NCAR Graphics已经打包在一起发行。
2009年3月4日,NCL发布了最新的5.1.0版,该版本更新了地图投影,修正了一些bug,增加了更多的函数及资源。
下图为新增的含中国省界的地图(见图1-1)。
二、准备工作2.1 安装环境安装环境为WinXP Professional SP3,并做如下假定:计算机名:TEAM用户名:Grissom安装目录:D:\download用户在实际安装中,请根据自己系统的信息替换本教程中的计算机名和用户名。
特别说明:用户名中不能出现空格,否则会在使用中出现一些问题。
2.2 下载Cygwin/XCygwin/X=Cygwin+X。
通俗地说,Cygwin/X可以在Windows平台上实现命令行+图形的Linux模拟环境。
第二章-NCL变量及基本语法
values
scalar or array
coords
time latitude longitude etc
以作为一个单独的数据对象.
2.2 NCL 语法
= - 赋值 • := - 重新赋值 (v6.1.2) • ; - 注释 [可在任何地方出现 ,“;” 右边文字将被忽略] • -> - 通过addfile(s)函数输入/输出变量 • @ - 读取/创建属性 • ! - 读取/创建named dimension • & -读取/创建坐标变量 • {…} – 坐标截取 • $...$ - 当使用addfile(s)输入/输出变量时,包住字符 • (/../) – 构建数组并移除 meta data • [/../] – 构建list; • [:] - list中的所有分量 • : - 数组语法 • | - 用于隔离named dimensions • \ - 连续符 [statement to span multiple lines] • :: - 外部共享对象的语法(比如 fortran/C)
•
数据类型
numeric (classic netCDF3) • double (64 bit) • float (32 bit) • long (64 bit; signed +/-) • integer (32 bit; signed +/-) • short (16 bit; signed +/-) • byte ( 8 bit, signed +/-) • complex NOT supported enumeric (netCDF4; HDF5) • int64 (64 bit; signed +/-) • uint64 (64 bit; unsigned ) • uint (32 bit; unsigned ) • ulong (32 bit; unsigned ) • ushort (16 bit; unsigned ) • ubyte ( 8 bit, unsigned) non-numeric • string • character • graphic • file • logical • list
NCL绘图示例(三)小波图
NCL绘图示例(三):小波图施宁(南京信息工程大学大气科学学院)beginf = addfile("./ENSO-index.nc", "r")ensoi = f->ensoitime = ensoi&yearN = dimsizes(ensoi);; 小波计算mother = 0 ; 母小波类型,通常为0,即'Morlet'小波。
其余两中被分别为1,'Paul'小波和2,'DOG' (derivative of Gaussian)小波dt = 1 ; 数组中数值之间的时间间隔,通常为1。
本例中表示间隔1年。
param = -1 ; 母小波参数。
如果param < 0,则使用默认数值,即采用'Morlet'小波时为6;Paul'小波为4;'DOG'小波为2s0 = dt ; 'Morlet'小波s0 = dt ; 'Paul'小波s0 = dt/4dj = 0.25 ; 常用设定jtot = 1+floattointeger(((log10(N*dt/s0))/dj)/log10(2.)) ; 常用设定npad = N ; 常用设定nadof = 0 ; 常用设定noise = 1 ; 常用设定,h红噪声检验siglvl = .05 ; 置信度水平isigtest= 0 ; 采用chi-square 检验;若为1则是对全部波谱进行时间平均检验w = wavelet(ensoi,mother,dt,param,s0,dj,jtot,npad,noise,isigtest,siglvl,nadof);************************************power = onedtond(w@power,(/jtot,N/)) ; 功率谱power!0 = "period" ; Y axispower&period = w@periodpower!1 = "time" ; X axispower&time = timepower@long_name = "Power Spectrum"power@units = "1/unit-freq";计算显著性( >= 1 则显著)SIG = power ; 复制元数据SIG = power/conform (power,w@signif,0)SIG@long_name = "Significance"SIG@units = " ";*************************************************wks = gsn_open_wks("eps","plot-enso-wavelet")gsn_define_colormap(wks,"BlAqGrYeOrReVi200")YLValues = (/1,2,4,8,16/)YLLabels = (/"1","2","4","8","16"/)res = Trueres@gsnDraw = Falseres@gsnFrame = Falseres@gsnRightString = " "res@gsnLeftString = " "res@trYReverse = True ; 倒置y-axisres@tmYLMode = "Explicit"res@tmYLValues = YLValuesres@tmYLLabels = YLLabelsres@tmLabelAutoStride = Trueres@trYMaxF = max(YLValues);res@trYMinF = min(YLValues)res@cnLinesOn = Falseres@cnLineLabelsOn = Falseres@cnInfoLabelOn = Falseres2 = resres@tiXAxisString = "Year"res@tiXAxisOffsetYF = 0.135res@tiYAxisString = "Years"res@cnFillOn = Trueres@cnFillMode = "RasterFill"res@cnRasterSmoothingOn = True;;;;;;;;;;;;;res2@cnLevelSelectionMode = "ManualLevels"res2@cnMinLevelValF = 0.00res2@cnMaxLevelValF = 2.00res2@cnLevelSpacingF = 1.00res2@cnFillScaleF = 0.5 ; 增加形状填充的密度(通过下面调用ShadeGtContour实现形状填充)plot = gsn_csm_contour(wks,power,res)iplot = gsn_csm_contour(wks,SIG,res2)opt = Trueopt@gsnShadeFillType = "pattern" ; 默认设置opt@gsnShadeHigh = 17 ;见附录图A.3iplot = gsn_contour_shade(iplot,-999.,1.,opt) ; 从大于等于1.的第一个等值线开始用形状为17填充overlay(plot,iplot) ; 在原图上添加显著性plot = ShadeCOI(wks,plot,w,time,False) ;;;添加各频率的功率gws = w@gwsresl = Trueresl@gsnFrame = Falseresl@gsnDraw = Falseresl@trYAxisType = "LogAxis"resl@trYReverse = True ; reverse y-axisresl@tmYLMode = "Explicit"resl@tmYLValues = YLValuesresl@tmYLLabels = YLLabelsresl@trYMaxF = max(YLValues)resl@trYMinF = min(YLValues)resl@tiXAxisString = "Global Wavelet Power" plotg = gsn_csm_xy(wks,gws,power&period,resl) ;; 将plotg添加至plot的右侧plotc = gsn_attach_plots(plot,plotg,res,resl) draw(plot)frame(wks)end。
NCL画图个例讲解
Example 1——XY plots这个例子介绍了NCL的基础知识,例如如何开始和结束NCL脚本,如何创建和初始化变量,如何创建和绘制XY坐标图,以及如何设置resources来改变XY坐标图的外观。
此外还介绍了NCL变量包含元数据的概念,以及展示了如何从ASCII文件读取数据。
这个例子创建了5个XY坐标图。
前四个图使用了NCL脚本生成的数据,第五个图读取了ASCII文件的数据。
第一个图有一个曲线,其他图右多条曲线。
每个图相对前一个图来讲都有一些改动的地方,例如添加标题、线标签,改变线条颜色和粗细,添加标记。
在以后的例子中将有更加复杂的XY坐标图。
请注意,“line”和“curve”在这个示例中互换使用,用来表示XY坐标图的曲线。
分号“;”在NCL脚本中表示允许注释。
所有的注释都必须以分号开头,任何在分号之后和下一个换行符前的东西都将忽略。
注释可以在一行中单独出现,也可以出现在NCL命令之后。
但是在同一行注释不能出现在命令之前,因为注释符之后所有的东西都被忽略。
运行这个示例,必须下载以下文件:gsun01n.ncl,然后键入:ncl gsun01n.ncl 示例1代码及解释1. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ; Load the NCL file that contains the gsn_*载入本示例使用的包含函数和程序(以gsn开头的)的NCL脚本。
NCL中的load语句的作用和C和Fortran90程序中include作用一样。
2.; functions used below.3. begin每个NCL脚本都以begin声明开始,以end声明结束。
4. x = new(9,float) ; Define two 1D arrays of 9 elements each.5. y = new(9,float)用new语句来声明2个各有9个元素的1维浮点数组。
NCL数据处理南信大课件
fspan( start, finish, npts )
• 返回值则为1D 等间距的浮 点型或双精度型数组
npts 是指包括start 和finish所有点的个数
b = fspan(-89.125, 9.3, 100) print(b)
Variable b: Type: float Number of Dimensions: 1 Dimensions and sizes:(100) (0) -89.125 (1) -88.13081 (2) -87.13662 (…) …. (97) 7.311615 (98) 8.305809 (99) 9.3
TJAN(0,:,:) = T(0,:,:)
• 数组降维是一个“特色” [真的 ]
数组的算符
• 类似于f90/f95, Matlab, IDL • 数组必须同样大小: conform • 令 A 和 B 为 (10,30,64,128)
– C = A+B – D = A-B – E = A*B – C, D, E 自动生成
第一章前言及简介第二章ncl变量及基本语法第三章数据处理第四章文件输入输出第五章绘图纲要要?代数逻辑表达式运算符?手动和自动的数据生成?内置函数和程序?自定义函数和程序?计算与元数据?几个常用函数的举例?调用fortran外部子程序?全域变量?与其他命令结合使用代数运算符代数运算符加减乘除幂数组乘大于
• xTim = dim_avg_n( x, 0 ) => im(nlat,mlon)
• 函数dim_avg ( x )
• xZon = dim_avg( x )
=> xZon(ntim,nlat)
• xTim = dim_avg( x(lat|:,lon|:,time|:) ) => xTim(nlat,mlon)
ncl where 语句
ncl where 语句NCL(NCAR Command Language)是一种用于科学数据分析和可视化的编程语言。
其中,where语句是NCL中的一种条件语句,用于根据指定的条件从数据集中提取出符合条件的数据。
下面列举了10个关于NCL where语句的例子。
1. 从一个温度数据集中提取出所有大于30摄氏度的数据,并进行可视化分析。
```where_temp = where(temperature > 30)filtered_temp = temperature(where_temp)```2. 根据气象站的经纬度信息,提取出位于某个特定区域的所有站点数据,用于研究该区域的气候变化。
```where_region = where((latitude > 30) && (latitude < 40) && (longitude > 100) && (longitude < 120))filtered_data = data(where_region)```3. 从一个降雨数据集中提取出所有大于等于10毫米的降雨数据,并计算降雨总量。
```where_rainfall = where(rainfall >= 10)filtered_rainfall = rainfall(where_rainfall)total_rainfall = sum(filtered_rainfall)```4. 根据观测站的海拔高度信息,提取出所有位于高海拔地区的观测数据,用于研究高海拔地区的气候特征。
```where_elevation = where(elevation > 4000)filtered_data = data(where_elevation)```5. 从一个蒸发数据集中提取出所有小于等于0的蒸发数据,并进行分析研究。
ncl操作手册
• 例子:
• f = addfile("foo.nc", "r")
• grb = addfile("/my/grib/foo.grb", "r")
• hdf = addfile("/your/hdf/foo.hdf","c")
• h = addfile("foo.hdfeos", "r")
语句
else 语句
end if
• 2.6 坐标变量
• 变量除了有指定值,还可以有附属的信息叫元数据,有三种元 数据,分别为coordinate variables(坐标变量)、named dimensions、attributes(属性)。
坐标必须是单调递增的或递减的一维数组。坐标变量的名称必须 和对应维的名称相同。&运算符用来引用和分配坐标变量。 例:
• 2.3 运算符
• 代数运算符
–+
加
–-
减
–*
乘
–^
指数
–%
取余
–#
矩阵相乘
– >,<
大于,小于
• 逻辑运算符
.lt.
பைடு நூலகம்
小于
.le.
小于等于
.gt.
大于
.ne. 不等于
.eq. 等于
.and. 并且
.or.
或者
.xor. 异或
.not. 非
• 2.4 循环
• do n=start,end,optional_stride
• 读取多个文件
ncl操作手册
end do 或者
do while(逻辑表达式) 语句。。。
end do • Break:跳出循环 • Continue:直接进入下次循环
• 2.5 声明语句 – 在代码的开始和结尾要添加“begin”和 “end”。 – If语句
If(逻辑表达式) then
语句
end if 另: If(逻辑表达式) then
的netCDF文件。
• 3.2 二进制数据文件
– IEEE二进制数据有两种不同的格式:big endian(高位在前)和little endian(低位在前).NCL 允许通过”setfileoption”函数进行动态的转换。
• 读二进制数据
fbinrecread(path:string,recnum:integer,dims[*]:integer,type:stri ng) 用来读取Fortran unformatted sequential文件 fbindirread(path:string,rnum:integer,dims[*]:integer,type:string)
• 2.3 运算符
• 代数运算符
–+
加
–-
减
–*
乘
–^
指数
–%
Hale Waihona Puke 取余–#矩阵相乘– >,<
大于,小于
• 逻辑运算符
.lt.
小于
.le.
小于等于
.gt.
大于
.ne. 不等于
.eq. 等于
.and. 并且
.or.
或者
.xor. 异或
.not. 非
• 2.4 循环
• do n=start,end,optional_stride
NCL画图个例讲解
Example 1——XY plots这个例子介绍了NCL的基础知识,例如如何开始和结束NCL脚本,如何创建和初始化变量,如何创建和绘制XY坐标图,以及如何设置resources来改变XY坐标图的外观。
此外还介绍了NCL变量包含元数据的概念,以及展示了如何从ASCII文件读取数据。
这个例子创建了5个XY坐标图。
前四个图使用了NCL脚本生成的数据,第五个图读取了ASCII文件的数据。
第一个图有一个曲线,其他图右多条曲线。
每个图相对前一个图来讲都有一些改动的地方,例如添加标题、线标签,改变线条颜色和粗细,添加标记。
在以后的例子中将有更加复杂的XY坐标图。
请注意,“line”和“curve”在这个示例中互换使用,用来表示XY坐标图的曲线。
分号“;”在NCL脚本中表示允许注释。
所有的注释都必须以分号开头,任何在分号之后和下一个换行符前的东西都将忽略。
注释可以在一行中单独出现,也可以出现在NCL命令之后。
但是在同一行注释不能出现在命令之前,因为注释符之后所有的东西都被忽略。
运行这个示例,必须下载以下文件:gsun01n.ncl,然后键入:ncl gsun01n.ncl 示例1代码及解释1. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ; Load the NCL file that contains the gsn_*载入本示例使用的包含函数和程序(以gsn开头的)的NCL脚本。
NCL中的load语句的作用和C和Fortran90程序中include作用一样。
2.; functions used below.3. begin每个NCL脚本都以begin声明开始,以end声明结束。
4. x = new(9,float) ; Define two 1D arrays of 9 elements each.5. y = new(9,float)用new语句来声明2个各有9个元素的1维浮点数组。
NCL-308简易说明书
NCL-308中文简易说明书一、中文面板对照二、模式介绍1、装订模式:该模式下(钻孔、切管、穿管、装订)一步完成。
2、钻孔模式:
该模式下只能钻孔、不能进行装订。
三、使用方法
11.装订
()开机>()选择>()等待预热~分钟(装订模式亮绿灯)装订就绪
()整理好需要装订的文件,放在装订工作位置>()按按键机器开始工作
()机器进入确认装订状态,再次按按键机器进入装订工作>()工作结束
23584567装订模式启动启动218.钻孔()按装订机顶部(类似不锈纲小杠头),完成钻孔工作
开机
压纸臂释放键>()选择>()等待预热~分钟(装订模式亮绿灯)钻孔就绪
()整理好需要装订的文件,放在装订工作位置>()按按键机器开始工作
()机器进入确认钻孔状态,再次按按键机器进入钻孔工作>()工作结束
()23584567钻孔模式启动启动如若有误,敬请赐教。
网视无忧NCL产品快速应用指南 V1.0
产品快速应用指南
温馨提示:此文件为“产品快速应用指南” ,如需详细操作说明,请查看对应的 使用说明书。 © 2002-2014 iSmartViewPro P2P 版权所有
iSmartViewPro P2P 快速应用二步骤
1 2
1
iSmartViewPro 扫一扫,下载 iSmartViewPro 获取 Android App 方式: 可以到配套的光盘中获取“iSmartViewPro”软件。 可以到 Google Play 商店中搜索并下载“iSmartViewPro”软件。 可以使用手机二维码扫描下载 第一步:下载并安装“iSmartViewPro” ,启动“iSmartViewPro”软件; 第二步:添加摄像机 DID 号;
有三种方式可添加设备,即手动添加/扫描机身二维码添加和局域网搜索添加。 ☆ 扫描二维码及局域网搜索添加设置如下,如图下图示例: c) d) “局域网搜索”添加; “扫描二维码”添加;
“局域网搜索”添加
“二维码扫描”添加
有三种方式可添加设备,即手动添加/扫描机身二维码添加和局域网搜索添加。 ☆ 扫描二维码及局域网搜索添加设置如下,如图下图示例: a) b) “局域网搜索”添加; “扫描二维添加
2
iSmartViewPro 扫一扫,下载 iSmartViewPro 获取 iPhone/iPad/iPod App 方式: 可以到 App Store 商店中搜索并下载“iSmartViewPro”软件。 可以使用手机二维码扫描下载 第一步:下载并安装“iSmartViewPro” ,启动“iSmartViewPro”软件; 第二步:添加摄像机 DID 号;
NCLGraphics(NCL画图教程)
五、通过Resource画图
• 通过Resources我们可以修改默认的NCL图形。 • 每个resource属性的前两个小写字母代表了 resource的类别,后面的单词首字母大写。 • 5.1 Resource类别
• • • • • • am:注释管理 cn:等高线 ca:坐标数组 gs:图像风格 lb:labelbar lg:说明
– Color map
• *wkColorMap : rainbow+gray
– 字体: – *Font : helvetica
四、工作站(workstation)
• 在画图之前必须要先创建一个工作站。图形命 令将作用在工作站上。工作站需要赋予一个名 字,这个名字将作为输出文件的文件名。你可 以同时打开多个工作站。一个工作站只可以指 定一个colormap。 • 六种工作站:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" begin in = addfile(“myfile.nc”,“r”) t = in->T wks = gsn_open_wks(“ps”,”ce”) gsn_define_colormap(wks,"BlAqGrYeOrRe") res = True res@cnFillOn = True res@cnLinesOn = False res@cnLevelSpacingF = 0.5 res@gsnSpreadColors = True res@lbAutoLabelStride = True plot = gsn_csm_contour_map_ce(wks,t,res) end
ncl 例子
NCARG_ROOT美元/ bin添加到你的搜索路径。
为了运行NCL脚本显示他们的直接输出一个X11窗口,你需要显示环境变量设置正确。
通常你可以测试这个马上通过调用一个X应用程序是否这告诉xander的机器,可以让程序由“巴菲”被显示在监视器。
再一次,与上面的NCARG_ROOT环境变量中,您可能想要将这些行添加到适当的”。
在您的主目录*”文件。
如果上面的不工作,那么请检查与您的系统管理员。
”。
在您的主目录hluresfile”文件。
为了更好地定制NCL图形环境,我们强烈建议你复制一个.hluresfile到您的主目录。
您可以定制这个文件对你的喜欢,但至少,你想改变默认的Explanation of example 1Load the NCL script that contains the functions and procedures (the ones that start with "gsn_") that are used in this example. The statement in NCL works much like include works in C and Fortran 90 programs.Start every NCL script with the statement and end it with the statement.variable, and the second argument its type. In this case, the two new statements are redundant, because in NCL you can declare variables by initializing them (as you do in the next two lines).For an overview of NCL's variable types, see the "NCL data types overview" section of the NCL Reference Manual.and terminated by "/)". Arrays in NCL are modeled after arrays in the C programming language; that is, they are row-major and begin at index 0 (instead of column-major and index 1 as in Fortran).an NCAR Graphics metafile (NCGM), or a PostScript file (regular, encapsulated, or encapsulated interchange).The function gsn_open_wks opens one of these types of workstations so you can draw graphics to it. The first argument (a string) indicates where you want the graphical output drawn ("x11" for an X11 window, "ncgm" for an NCGM, and "ps", "eps", or "epsi" for a PostScript file). The second argument (also a string) determines the name of the file if you draw the graphical output to an NCGM or a PostScript file (name.ncgm for an NCGM file, and name.{ps,eps,epsi} for a PostScript file, where name is the second string you pass in). The second argument also comes into playwhen resource files are discussed in example 8 and 9.The value returned from gsn_open_wks is a special variable of type graphic, which is an NCL variable type to define graphical objects.to do anything with this return value). The first argument is the workstation you want to draw the XY plot to (the variable returned from the previous call to gsn_open_wks). The next two arguments are the variables containing the X and Y arrays that you want to plot. These two arguments can be of type float, double, or integer and can be 1-dimensional or multi-dimensional (explained below). The last argument is a logical value indicating whether you have set any "resources" for changing the look of a plot. To get the default XY plot that NCL provides, pass the value False for the last argument (in NCL,logical values are set with the special keywords True or False, which both must be capitalized).The gsn_xy function draws the XY plot with tick marks selected at "nice" values. No title or X/Y axis labels are provided in the default plot, but these can be easily added as shown in the next few plots. You can also change the style of the tick marks as shown in example 7.By default, when a plot is drawn to an X11 window or an NCGM file, it has a black background and a white foreground. If a plot is drawn to a PostScript file, it has a white background and a black foreground. In later examples, you will learn how to specify the background and foreground colors, and when you do this, the plot has the same colors, no matter which workstation you draw it to.Since you opened a workstation type of "x11", the gsn_xy function produces an X11 window on which you need to click with the left mouse button to advance to the next frame.Line 14:Draw an XY plot with three curves, each curve having nine points.time you are not using new to declare the array, because in NCL you can create variables by assigning values to them. NCL is able to determine the dimensionality and type of a variable by the way it is initialized.they may also contain ancillary information about the variable. This additional information is often called "metadata." Metadata is divided into three categories: attributes, named dimensions, and coordinate variables.Variables can have an unlimited number of attributes assigned to them, and each attribute is assigned to a variable using the "@" symbol.In lines 20-21, you are creating an attribute called "long_name" for both the x and y2 variables. For more information on variable properties in NCL, see the "Variables" section in the "Basics."By default, if an attribute called "long_name" is set for either the X or Y data arrays, (as is commonly done in netCDF files), then gsn_xy uses this attribute to label the X and/or Y axis in the XY plot (unless you have overridden this by setting resources as shown below).the values in the x array with the values in each of the three curves in the y2 array. If a 3 x 9 X array had been declared in addition to the 3 x 9 Y array, then each value in the Y array would have been paired with the corresponding value in the X array.Note that if more than one curve is drawn in an XY plot, then gsn_xy draws each curve with a unique dash pattern. There are 16 different dash patterns available; see the list of "dash patterns" in the graphics documentation.Note the new X and Y axis labels that result from the attribute "long_name" being set for each axis.line colors and thicknesses, adding titles, changing fonts, creating label bars and legends, changing map projections, modifying the size of a plot, masking out certain areas, etc. There are also resources for changing the data of a plot, like setting minimum and maximum values, selecting strides or subsets of data, and setting missing values.Most resources have default values that are either hard-coded or set dynamically by NCL when you run the NCL script. For example, the line thickness for a curve is hard-coded to a value of 1.0, but the minimum and maximum values of a curve are set dynamically according to the actual minimum and maximum data values used in the XY plot. You only need to set a resource if you want to change its default value.Resources are grouped by the type of graphical object or data they describe, and these groupings are discussed here and in other examples.To set resources for use by the gsn_* suite of functions, first define a variable of type logical and set its value to True, then specify the resources as attributes of this logical variable. As stated above, a variable can have an unlimited number of attributes. This variable that you create should then get passed to the appropriate gsn_* plotting routine for the resources to take effect.Important note: This method for setting resources is specific to the gsn_* suite of functions and procedures. Setting resources using straight NCL code is quite different, and is covered in the "Going beyond the basics" section of this document.colors specified here are represented by integer index values, where each index maps to a color in a predefined color table (also called a "color map"). Since a color table has not been defined in this example, a default color table with 32 indices is provided by NCL (later examples will show how to create your own color map). To see the default color table, go to the "Color tables" section of the NCAR Graphics Reference Manual. In the default color table, the integer values 2, 3, and 4 represent the colors "red", "green", and "blue" respectively.If you had wanted the same line color for each curve, but wanted it something other than "1", then you could have used the singular resource, xyLineColor.XY plot resources belong to the "XyPlot" group and start with the letters "xy". Each XyPlot resource is documented with its type and its default value in the XyPlot resource descriptions.thickness and a value of 5.0 increases the line thickness by a factor of 5, and so on. Again, you could have used the singularresource xyLineThicknessF to set all the curves to the same thickness.and/or lines to draw each curve.Since you are creating the same plot as before, you want to keep the same resources that you set for the previous XY plot. You can just add more attributes to the resources variable to customize the plot some more.If you had wanted to go back to all the default resources before creating the next XY plot, you could have either used a new variable name for the resources, or deleted the current list of resources with the delete(resources) command and started over with a new list.and start with "ti.an index into a font table. A table of all the available fonts along with their names and index values appears in the "Font table" section of the NCAR Graphics Reference Manual.Note that predefined strings, like those listed in the font table, are case-insensitive, and that you could have specified the font with "helvetica" or "HELVETICA" or any another combination of uppercase and lowercase characters.lines that can be drawn: regular lines ("Lines"), markers only ("Markers"), and lines with markers ("MarkLines"). In this plot, you are using this resource to invoke all three kinds of lines. The xyMarkers resource defines the type of markers you want to use. There are seventeen marker styles to choose from.get the same marker color and size for all the lines that have markers. The default marker size is 0.01, so a value of 0.03 triples the marker size.you can use environment variables in NCL in a file path name by prefixing a "$" to the name.The first argument of asciiread is the file name, the second argument (a 1-dimensional integer array) is the dimensionality of the data you are reading in, and the third argument (a string) is the type of the data. In this case, the ASCII data file has 4 columns of data with 129 rows each, so a dimensionality of (/129,4/) is used to read in the data.values from data (remember, arrays in NCL start at index 0, not index 1). If you had wanted to select elements 50 to 100 of the first set of 129 values, you would have used the notation "(49:99,0)".to represent longitude values from 0.0 to 360.0 in steps of 360/128, you need to convert each value by subtracting 1 and multiplying it by 360/128. In NCL, you can do scalar arithmetic on a whole array using the same notation as if it were a scalar value. You can also multiply, divide, add, and subtract arrays in one step as long as they are the appropriate size for doing such array computations.Lines 63-64 could also have been combined into one line:the delete command. If you plan to set some new resources, the variable resources must be again set to True, since delete removes all information relating to it. You could have also just used a new variable name.to customize how to label the XY plot curves (there are no labels by default). You can indicate what labels you want withthe xyExplicitLabels resource. The xyLineLabel* resources used here change the font size and color of the line labels.of the NCL script, but it's a good idea to get in the habit of cleaning up variables that you no longer need.Example 7 - two XY plots on one frameThis example illustrates the use of the routines ftcurvp and ftcurvpi and creates two XY plots on the same frame. It also illustrates how to draw text and polylines in a specified area of the viewport.The function ftcurvp calculates an interpolatory spline under tension through a sequence of functional values for a periodic function, and ftcurvpi calculates an integral of an interpolatory spline between two specified points.To run this example, you must download the following file:gsun07n.ncland then type:ncl gsun07n.ncl(Click on frame to see it enlarged.)value to start at, the floating point value to end with, and the number of evenly spaced points to create in between.xi is a 1-dimensional array (10 elements) containing the abscissae for the input function, yi. The variable period is a scalar value specifying the period of the input function, and xo is a 1-dimensional array containing the abscissae for the interpolated values. ftcurvp returns a 1-dimensional array thatcontaining the lower limit of the integration, the second argument is a scalar value containing the upper limit of the integration, and the third argument is a scalar value specifying the period of the input function. The last two arguments are 1-dimensional arrays (both 10 elements each) containing theplot, so setting both tmXTBorderOn and tmXTOn to False turns off the drawing of the top border and tick marks ("XT" stands for "X Top").Setting tmXBMode to "Manual" allows you to define where to place major tick marks. Starting with the value tmXBTickStartF, major tick marks are placed at intervals separated by a distance of tmXBTickSpacingF until tmXBTickEndF is exceeded.the MapTransformation resources, was introduced in example 5. There are other types of non-map transformation resources that you can set for reversing the data in the X or Y axis direction and setting the upper or lower bounds of the axis values and using log scaling. There's also a setof IrregularTransformation resources for managing forward and reverse transformations in an irregular rectangular coordinate space.To control the X and Y axis limits of the data values, you need to use the Transformation resources trXMinF, trXMaxF, trYMinF, and trYMaxF.The first curve you are about to plot goes from -1.0 to 5.0 in the X direction, and from -1.01 to 3.02 in the Y direction. The second curve goes from 0.0 to 2.7 in the X direction and -1.0 to 3.0 in the Y direction. By setting trXMinF to xl (-1.0), trXMaxF to xr (5.0), trYMinF to -2.0 and trYMaxF to 3.0, only the data from the curves that go from -1.0 to 5.0 in the X direction and -2.0 to 3.0 in the Y direction are plotted. Note that for the second curve, these limits are actually outside the range of the actual data values.Lines 70-73:plot to the second plot was a few resources for setting the line mode to "Markers" and the data in the gsn_xy arguments, this second plot is drawn in the exact same place as the first plot, and has the same tick marks and X/Y axis values. (Remember, the frame advance resource gsnFrame wasaccording to the data space of the plot (rather than NDC coordinates), which is passed as the second argument to gsn_text. In this case, you areprevious call to gsn_open_wks, and the second argument is the plot id of the plot to draw the polyline on (returned from a previous call to one of the gsn_* plotting functions). To draw the polyline on the XY plots you just drew, pass xy as the plot id. The next two arguments are the X and Y locations of each point defining the polyline to plot (they must be in the same data space as the data in xy), and the last argument is a logical value indicatingend up being at -1, 0, 1, 2, and 3 (no tick mark at 4).of gsn_text_ndc is the workstation variable returned from the previous call to gsn_open_wks and the second argument is the string to draw. The next two arguments are the X and Y locations of the text in NDC coordinates, and the last argument is a logical value indicating whether you have set anyDraw and label a period legend (two arrows with the word "period" between them) below the first plot indicating the period of the input function. Since箱线图*********************************************; box_1.ncl;; Concepts illustrated:; - Drawing box plots; - Explicitly setting the X tickmark labels in a box plot;;*********************************************load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl";*********************************************begin;**********************************************; Create some fake data;**********************************************yval = new((/3,5/),"float",-999.)yval(0,0) = -3.yval(0,1) = -1.yval(0,2) = 1.5yval(0,3) = 4.2yval(0,4) = 6.yval(1,0) = -1.yval(1,1) = 0.yval(1,2) = 1.yval(1,3) = 2.5yval(1,4) = 4.yval(2,0) = -1.5yval(2,1) = 0.yval(2,2) = .75yval(2,3) = 2.yval(2,4) = 6.5x = (/-3., -1., 1./);**********************************************; create plot;**********************************************wks = gsn_open_wks("ps","box") ; create postscript fileres = True ; plot mods desiredres@tmXBLabels = (/"Control","-2Xna","2Xna"/) ; labels for each boxres@tiMainString = "Default Box Plot";***********************************************; the function boxplot will except three different; resource lists. In this default example, we set; two of them to False.;**********************************************plot = boxplot(wks,x,yval,False,res,False)draw(wks) ; boxplot does not call these frame(wks) ; for youend设置颜色和粗细box_2.ncl;; Concepts illustrated:; - Drawing box plots; - Setting the color of individual boxes in a box plot ; - Setting the width of individual boxes in a box plot ;;*********************************************load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl" ;*********************************************begin;**********************************************; Create some fake data;**********************************************yval = new((/3,5/),"float",-999.)yval(0,0) = -3.yval(0,1) = -1.yval(0,2) = 1.5yval(0,3) = 4.2yval(0,4) = 6.yval(1,0) = -1.yval(1,1) = 0.yval(1,2) = 1.yval(1,3) = 2.5yval(1,4) = 4.yval(2,0) = -1.5yval(2,1) = 0.yval(2,2) = .75yval(2,3) = 2.yval(2,4) = 6.5x = (/-3., -1., 1./);**********************************************; create plot;**********************************************wks = gsn_open_wks("ps","box");**********************************************; resources for plot background;**********************************************res = True ; plot mods desiredres@tmXBLabels = (/"Control","-2Xna","2Xna"/) ; labels for each box res@tiMainString = "Tailored Box Plot";**********************************************; resources for polylines that draws the boxes;**********************************************llres = Truellres@gsLineThicknessF = 2.5 ; line thickness;**********************************************; resources that control color and width of boxes;**********************************************opti = Trueopti@boxWidth = .25 ; Width of box (x units) opti@boxColors = (/"blue","red","green"/) ; Color of box(es);***********************************************plot = boxplot(wks,x,yval,opti,res,llres) ; All 3 options used...draw(wks) ; box plot does not callframe(wks) ; these for youend例3 -矢量图这个例子中读入三个netCDF文件并创建四个矢量图从这三个文件,使用数据。
ncl polymarker类型
NCL Polymarker类型1. 简介NCL(NCAR Command Language)是一种用于科学数据分析和可视化的编程语言,是NCAR(National Center for Atmospheric Research)开发的一种专业工具。
在NCL中,Polymarker是绘图函数的一种类型,用于创建多个不同样式的点标记。
2. Polymarker类型的属性Polymarker类型具有以下属性:- 符号样式:可以选择不同样式的点标记,包括圆圈、方块、星形等。
- 大小:可以设置点标记的大小。
- 颜色:可以设置点标记的颜色。
3. Polymarker类型的用法示例以下是使用NCL Polymarker类型的简单示例:```nclbeginwks = gsn_open_wks("x11","plot")x = (/1, 2, 3, 4, 5/)y = (/5, 4, 3, 2, 1/)res = TrueresgsMarkerIndex = 16 ; 设置标记类型为圆圈resgsMarkerSizeF = 0.03 ; 设置标记大小resgsMarkerColor = "blue" ; 设置标记颜色plot = gsn_point(wks, x, y, res)end```4. Polymarker类型的应用Polymarker类型广泛应用于科学数据可视化领域,特别适用于散点图和地图中的点标记。
通过设置不同的符号样式、大小和颜色,可以使数据图表更加清晰易读。
5. 总结NCL Polymarker类型是NCL中用于绘制多个不同样式的点标记的一种类型,具有灵活的属性设置和广泛的应用领域。
通过合理地运用Polymarker类型,可以有效地展示科学数据,提高数据可视化的质量和效果。
对于NCL(NCAR Command Language)的Polymarker 类型而言,它是科学数据可视化中不可或缺的一部分。
用NCL处理卫星数据(一个简单的教程)
用NCL处理卫星数据(一个简单的教程)2010年03月19日星期五15:13这个教程主要介绍如何用NCL读取卫星数据,如何将数据存储为二进制格式,如何作图。
本教程所用的数据:/file/f19ba404fc这个数据是AMSR-E的L2A产品,更多信息请查阅相关文档。
在开始这个教程前,请确认已经安装好了NCL。
1. 运行NCL和GrADS类似,NCL也可以运行在交互式环境中,即输入一条命令执行一条命令。
交互式环境使用:在命令行下输入$ ncl退出请输入命令ncl 0> exit交互式环境不方便重复操作,一旦退出程序就需要全部重新来过,所以推荐编写NCL脚本。
一个NCL脚本主要包括以下几个部分:load 外部函数begin;命令和操作endload用来载入外部函数。
文件操作、数据操作、数据可视化等代码都放在load 语句之后。
半角分号“;”后的内容是注释,NCL只有行注释功能。
begin 和end 可有可无,但如果出现了begin,就必须有end 与之对应。
NCL脚本扩展名为.ncl。
比如有一NCL脚本文件为script.ncl,运行时可以用下面的方法:$ ncl < script.ncl或$ ncl script.ncl下面来写一个简单的NCL脚本。
打开vi之类的编辑软件,将下面的内容复制进去,然后保存到卫星数据文件所;********************************************************; Load NCL scriptsload "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/skewt_func.ncl"load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/wind_rose.ncl"; load语句载入了NCL常用的几个外部程序,建议以后自己写脚本时也保留这6行的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
10年9月9日星期四
NCL的安装
下载需要在ESG网站上注册用户,根据需要下载相应的压缩包 NCL无须编译,直接解压缩即可
安装:(对于Windows,需要安装Cygwin/X,比较繁琐,但也是可以安装)
> tar xzf ncl_ncarg-5.2.1.<...>.tar.gz -C <存放目录> > cd ~; vi .bashrc export NCARG_ROOT=<存放目录> export PATH=$PATH:$NCARG_ROOT/bin 可能遇到无法找到库的问题,应根据实际情况安装相应库
contributed.ncl - 一些用户贡献的脚本
clmDayTLL(函数) /Document/Functions/Contributed/index.shtml 16
10年9月9日星期四
NCL基本语言特性
一、读入数据
自描述数据格式:NetCDF、HDF 、GRIB f = addfile(“<目录>/<文件名>.<扩展名>”, “<文件模式>”)
13
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
14
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
load ...
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
11
10年9月9日星期四
NCL的安装
下载需要在ESG网站上注册用户,根据需要下载相应的压缩包 NCL无须编译,直接解压缩即可
安装:(对于Windows,需要安装Cygwin/X,比较繁琐,但也是可以安装)
> tar xzf ncl_ncarg-5.2.1.<...>.tar.gz -C <存放目录> > cd ~; vi .bashrc export NCARG_ROOT=<存放目录> export PATH=$PATH:$NCARG_ROOT/bin 可能遇到无法找到库的问题,应根据实际情况安装相应库
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
14
10年9月9日星期四
NCL基本语言特性
脚本基本结构:
load ... begin ; read in data ; process data ; visualization end
15
10年9月9日星期四
14
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
计算风场的散度
<散度> = uv2dvG_Wrap(<u风>, <v风>)
Voronoi图(用于空间划分,或网格生成)
18
10年9月9日星期四
NCL基本语言特性
二、处理数据
/Applications/list_dataP.shtml EOF分解
<特征向量> = eofunc_Wrap(<三维数据>, <特征值数>, <选项>) <时间系数> = eofunc_ts_Wrap(<三维数据>, <特征向量>, <选项>)
11
10年9月9日星期四
NCL的安装
下载需要在ESG网站上注册用户,根据需要下载相应的压缩包 NCL无须编译,直接解压缩即可
安装:(对于Windows,需要安装Cygwin/X,比较繁琐,但也是可以安装)
> tar xzf ncl_ncarg-5.2.1.<...>.tar.gz -C <存放目录> > cd ~; vi .bashrc export NCARG_ROOT=<存放目录> export PATH=$PATH:$NCARG_ROOT/bin 可能遇到无法找到库的问题,应根据实际情况安装相应库
计算风场的散度
<散度> = uv2dvG_Wrap(<u风>, <v风>)
Voronoi图(用于空间划分,或网格生成)
18
10年9月9日星期四
NCL基本语言特性
二、处理数据
/Applications/list_dataP.shtml EOF分解
<特征向量> = eofunc_Wrap(<三维数据>, <特征值数>, <选项>) <时间系数> = eofunc_ts_Wrap(<三维数据>, <特征向量>, <选项>)
14
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
执行脚本:
wks = gsn_open_wks res = True res@... = ... plot = gsn_csm_contour_map_ce(...)
NCL根据<扩展名>来判断数据格式
非自描述数据格式:文本文件、二进制文件 data = asciiread(“<文件路径>”, (/<维数>/), “<数据类型>”) data = fbinrecread(“<文件路径>”, <记录数>, (/<维数>/), “<数据类型>”) 更多参见:/Applications/list_io.shtml
14
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
f = addfile(“a.nc”, “r”)
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
11
10年9月9日星期四
NCL的安装
• •
下载.hluresfile到家目录(~) 下载相应的编辑器加强插件(editor enhancement) /Applications/editor.shtml 提供语法高亮,补全功能
12
10年9月9日星期四
• NCL的网站 • NCL的下载及安装 • NCL的基本语言特性 • NCL的实例
14
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:图形显示
执行脚本:
> ncl <脚本名称>.ncl <参数>=<值> ... 注意:如果传入字符串,则\”<值>\”
17
10年9月9日星期四
NCL基本语言特性
二、处理数据
/Applications/list_dataP.shtml EOF分解
<特征向量> = eofunc_Wrap(<三维数据>, <特征值数>, <选项>) <时间系数> = eofunc_ts_Wrap(<三维数据>, <特征向量>, <选项>)
• NCL的网站 • NCL的下载及安装 • NCL的基本语言特性 • NCL的实例
10
10年9月9日星期四
NCL的安装
下载需要在ESG网站上注册用户,根据需要下载相应的压缩包 NCL无须编译,直接解压缩即可
安装:(对于Windows,需要安装Cygwin/X,比较繁琐,但也是可以安装)
> tar xzf ncl_ncarg-5.2.1.<...>.tar.gz -C <存放目录> > cd ~; vi .bashrc export NCARG_ROOT=<存放目录> export PATH=$PATH:$NCARG_ROOT/bin 可能遇到无法找到库的问题,应根据实际情况安装相应库
计算风场的散度
<散度> = uv2dvG_Wrap(<u风>, <v风>)
14
10年9月9日星期四
NCL基本语言特性
文档:/Document/ 类似Fortran、C,不过是脚本 主要步骤:
• • • •
载入脚本 读入数据 处理数据 图形显示
do i = 0, n-1 end do
执行脚本: