ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:27.18KB ,
资源ID:24103765      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24103765.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NCL符号说明.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NCL符号说明.docx

1、NCL符号说明一、概述一般,NCL脚本包含以下的内容:1、使用load命令加载包含高水平图形接口的库函数,这一步在begin之前进行。2、从数据文件中读数据。进行数据处理(可选)。3、打开一个工作站(workstation)。选择一个颜色表.4、创建一个resouce变量,各种画图的选项将作为它的属性。 5、调用合适的图形接口作图。load $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl load $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl begin in = addfile(“myfi

2、le.nc,“r“) t = in-T wks = gsn_open_wks(“ps,ce) gsn_define_colormap(wks,BlAqGrYeOrRe) res = TruerescnFillOn = True rescnLinesOn = False rescnLevelSpacingF = 0.5 resgsnSpreadColors = True reslbAutoLabelStride = Trueplot = gsn_csm_contour_map_ce(wks,t,res) end二、高水平图形接口2.1 gsn图形接口一般的gsn接口可以创建一般的x-y坐标,等高

3、线,流线和矢量图。2.2 gsn_csm接口 可以自动的完成以下功能: 自动添加label bars,在一般的接口中需要明确的 指明。自动的将变来的long_name和units属性作为图形 的标签。long_name在左上角,units在右上角。 还会自动的添加一些关于压力值等的其它标签。 2.3 加载接口 在begin之前用load命令加载。 gsn和gsn_csm图形接口包含在以下两个文件里。load $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl load $NCARG_ROOT/lib/ncarg/nclscripts/csm/gs

4、n_csm.ncl三、Getting Started 3.2 .hluresfile .hluresfile文件要位于主目录下。 在.hluresfile文件里你可以设置你的显示属性: 例如:前景色、背景色: *wkForegroundColor : (/0.,0.,0./) *wkBackgroundColor : (/1.,1.,1./) Color map *wkColorMap : rainbow+gray 字体: *Font : helvetica四、工作站(workstation) 在画图之前必须要先创建一个工作站。图形命 令将作用在工作站上。工作站需要赋予一个名 字,这个名字将作

5、为输出文件的文件名。你可 以同时打开多个工作站。一个工作站只可以指 定一个colormap。 六种工作站: 1、ncgm。2、ps(postscript)。3、eps(密封的 postscript)。4、epsi(带位图预览的密封的postscript)。 5、pdf。6、X11窗口。 例: wks = gsn_open_wks(“pdf,34_x_45) wks_2 = gsn_open_wks(“ps,myfile)五、通过Resource画图 通过Resources我们可以修改默认的NCL图形。 每个resource属性的前两个小写字母代表了 resource的类别,后面的单词首字母大写

6、。 5.1 Resource类别 am:注释管理 cn:等高线 ca:坐标数组 gs:图像风格 lb:labelbar lg:说明mp:maps(地图) pm:plot manager(绘图管理) pr:primitive(原型) sf:scalar field(标量场) ti:title(标题) tm:tickmarks(刻度标记) tx:text(文本) tr:transform(变换) vf:vector field(矢量场) field( ) vc:vectors(向量) vp:viewport(显示窗口) wk:workstation(工作站) ws:workspace(工作空间)

7、xy:xy plot(xy坐标图形) 它们的详细属性请参见: http:/www.ncl.ucar.edu/Document/Graphics/Resources/ 5.2 给resources赋值 首先要将resources变量赋值为True。 属性通过符号来指定。下例中的res是用户自定义的。 例:res = True restiMainString = “my title rescnFillOn = True resource变量通常作为调用的图形接口的最后一个参数: 例:plot = gsn_csm_contour(wks,data,res) plot2 = gsn_xy(wks,da

8、ta,res) 5.3 一些常用的resources 附录A包含了常用的resource的完整的描述 5.4 画图和gsnDrawresource 默认情况下,当你调用高水平图形接口时,图 形会被自动创建,除非你设定:gsnDraw=False. 5.5 推进frame和gsnFrameresource 默认情况下,当你调用高水平图形接口,图形 被创建后,图形接口会自动推进frame(如果一 frame( 个frame是书的一页的话,那么workstation就是 那本书,推进frame就相当于翻过书的一页。一 个workstation可以有多个frame)。除非你设定: gsnFrame=F

9、alse 5.6 特殊的字符串resources,gsnLeftString, gsnCenterString,gsnRightString 在gsn_csm图形接口中,图形左上角会自动设置为数 据的long_name属性,右上角会自动设置为数据的 units属性。这种行为可以通过gsnLeftString(控制左上 角)、gsnCenterString(控制中间位置)和 gsnRightString(控制右上角)来改变。 例:res = True resgsnRightString = my string resgsnCenterString = center六、颜色设置 6.1 颜色填充

10、通过设置cnFillOn=True你可以为当前的等高线设置 填充颜色。另外“cnFillMode=“RasterFill“表示使用 光栅模式。 你还需要为你的workstation指定一个color map。关 于color map的跟多信息请参见: http:/www.ncl.ucar.edu/Document/Graphics/color_ta bles.shtml 6.2 默认的colormap NCL的默认的colormap包含一系列的不同的颜色。 有三种方法改变colormap 1、选择一种内置的colormap(6.3)。 2、指定一个代表RGB数值的nX3维的数组(6.4)。 3

11、、指定一个包含颜色名称的数组。 6.3 内置的colormaps 有许多预定义的colormaps,可以参考以下链接: http:/www.ncl.ucar.edu/Document/Graphics/color_tables.sh tml 你可以这样为你的workstation指定一个colormap: gsn_define_colormap(wks,gui_default) 6.4 使用RGB数组 你可以通过RGB数组自定义一个colormap。 例:colors = (/ (/255,255,255/), (/0,0,0/), (/255,255,255/), (/244,255,244

12、/), (/217,255,217/), (/163,255,163/), (/106,255,106/), (/43,255,106/), (/255,127,0/) /) gsn_define_colormap(wks,colors) 第一和第二个颜色值为黑和白,分别代表前景色和背景色。 6.5 通过颜色的名称 NCL有一系列的命名好的颜色值,可以参考一下链接: http:/www.ncl.ucar.edu/Document/Graphics/named_colors .shtml 例:colors = (/ “white, “black, “white, “RoyalBlue, Ligh

13、tSkyBlue, PowderBlue, LightGreen, PaleGreen, wheat, brown,pink/) gsn_define_colormap(wks,colors) 6.6 gsnSpreadColors 默认的情况下,NCL会根据要填充的等高线或矢量图的个 数n选择colormap中的前n个颜色。除非你设置 gsnSpreadColors=True,这时NCL将在colormap中均匀的选 择n个颜色值,比如:有10个等高线水平和200个颜色值, 这时NCL会每隔20选择一个颜色值。你也可以通过设置 gsnSpreadColorStart和gsnSpreadCol

14、orEnd控制选择颜色的 开始下标和结束下标。 6.7 CMYK 许多科学期刊要求论文要提供CMYK格式的图片。 CMYK也是商业印刷优先考虑的颜色模式。下面的代 码将创建一个CMYK格式的图形:type = ps typewkColorModel = cmyk“ wks = gsn_open_wks(type,color) gsn_define_colormap(wks,BlWhRe) postscript文件在输出时将转换为CMYK格式。七、向量 7.1 向量的类型 在NCL中有四种类型的向量图,可以通过 vcGlyphStyle=“type来设置: “LineArrow:多条带箭头的线段

15、,这时默认的。 “FillArrow:填充的带箭头的多边形。 “WindBard:使用在天气图上看到的标准的风倒钩字形。 “CurlyVector:a curved polyline tangent to the instantaneous flow in the neighborhood of the grid point. 7.2 对向量图的设置 resvcRefMagnitudeF=10.0可以设置向量的弯曲程度。 vcRefLengthF=0.045可以设置向量的长度 resvcMinDistanceF=0.017可以设置向量的疏密程度。 7.3 向量被标量场(等高线)上色,或在标量

16、场上上色 有四种接口可以在同一副图上画出等高线和向量。 gsn_csm_vector_scalar_map_ce gsn_csm_vector_scalar_map_polar gsn_csm_vector_scalar_map gsn_csm_pres_hgt_vector 这些接口默认的行为是根据标量场的量级为向量上 色。若要改变这些默认行为,可以设置resource变量 的属性gsnScalarContour为True。 可以创建独立的等高线和向量图,然后使用overlay 子程序将它们结合在一起。 overlay有两个graphical类型的参数,overlay会将第二 个图形结合到第

17、一个图形上。 例:;创建向量图 res = True resvcRefMagnitudeF = 30.0 resvcRefLengthF = 0.045 resvcMinDistanceF = .019 resvcGlyphStyle = CurlyVector“ resgsnDraw = False resgsnFrame = False resgsnLeftString = resgsnRightString = plot = gsn_csm_vector(wks,u,v,res);创建等高线图 resCN = True resCNcnFillOn = True resCNcnLinesO

18、n = False resCNgsnSpreadColors = True resCNgsnDraw = False base = gsn_csm_contour(wks,data,resCN) ; overlay ;用overlay将它们结合起来 overlay(base,plot) draw(base) frame(wks) 成功创建一个overlay的关键是两个图形的坐标变量 的数据是相同的。八、地图的刻度标记 有两种类型的地图刻度标记。第一种(下图左面)是*_ce和 *_polar图形接口默认。第二种(下图右面)是4.2.0版本后添 加的。你可以通过设置pmTickMarkDispla

19、yMode = “Always“ 来使用第二种标记。九、页面最大化 resource属性gsnMaximize可以自动的调整图 形的大小,必要时会旋转图形以填充页面。 resgsnMaximize = True10、等高线 10.1 手动设置等高线的量级 需要下面四个resourcesrescnLevelSelectionMode = “ManualLevels rescnMinLevelValF = -30 rescnMaxLevelValF = 30 rescnLevelSpacingF = 5 10.2 等高线效果 有许多函数和gsn resources可以设置等高线效果。 gsnCon

20、tourZeroLineThicknessF可以设置基准线的宽度。 gsnContourNegLineDashPattern可以为负的等高线设 置虚线模式。 有一系列的函数可以为一个等高线图形的不同部分填充 不同的底纹。这些函数包含在ncl的shea_util.ncl 库文件 中。你需要这样引用它: load $NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl“ shea_util.ncl中包含函数的详细信息可以参考以下链接: http:/www.ncl.ucar.edu/Document/Functions/list_shea_util.sh

21、tml 10.3 明确的设置等高线量级 rescnLevelSelectionMode = Explicit rescnLevels = (/.01,4,7.2/) 10.4 等高线的标签 有三种等高线标签定位模式:randomized(默认)、computed和 constant。 只有constant模式使标签是线的一部分。其它两种模式中线会穿过 标签。可以通过设置cnLabelMasking=True来避免这种情况的发生。 还可以通过cnLineLabelBackgroundColor来选择标签的背景色。 在constant模式下,cnLineDashSegLenF可以控制标签 的密度。

22、在randomized和computed模式下则是通过 cnLineLabelDensityF来控制。十一、二维lat/lon数组 有关于二维lat/lon信息的数据可以分为两类。 第一类是:已经投射到了地球的区域的数 据。我们称这种为本地的网格投影。一个 常见的例子是本地的兰伯特正形投影。 第二类是:数据通过不规则的网格点得到, 这些网格点必须通过唯一的位置来解释, 但是这些数据是没有预先投影过的。有许 多网格包含在这种类型里,包括曲线的网 格或有限元网格。 不同的种类需要不同的技术来处理,所以 如果你的数据有二维lat/lon的信息,你必须 提前知道它是哪种类型的。 11.1 本地网格投影

23、 许多GRIB和netCDF文件会包含像grid type这样的属 性,它指明了投影的类型。对于其它没有这类信息 的文件,你可以从数据提供者那里了解到。 对于本地网格投影,第一个技术是关闭数据映射 到地图上的转换。 restfDoNDCOverlay = True 第二个技术是通过corners方法正确的限定地图的范 围。使用这个技术时你必须知道左下角和右上角的 坐标:resmpLimitMode = Corners resmpLeftCornerLatF = 16 resmpLeftCornerLonF = 135 resmpRightCornerLatF = 54 resmpRightCo

24、rnerLonF = 79 有一些netCDF和GRIB文件包含的数组corners含有 这些信息。 最后的技术是网格的具体细节。网格本身必须被指 定,一些用来定义网格的resources必须设置。例如, 兰伯特正形投影需要设置两个维度,和一个经度。 例:resmpProjection=LambertConformal resmpLambertParallel1F = 30. resmpLambertParallel2F = 55. resmpLambertMeridianF = 45. 11.2 不规则的网格 特殊属性lon2d和lat2被用来准确的在地图上画出这类 数据。 创建一个符合以下

25、特征的数据文件:time = 1 nlat = 345 nlon = 567 float TLON (nlat,nlon) float TLAT (nlat,nlon) float ROFF (time,nlat,nlon) 接下来需要进行的处理:tlat = f-TLAT tlon = f-TLON roff = f-ROFF rofflon2d = tlat rofflat2d = tlon tlat和tlon是变量名称,并且可以被命名为任何名字, 属性lon2d和lat2d是保留的,不能被更改的。 明确的设置这两个属性是正确的将数据(带有二维 lat/lon信息)画出所需要的唯一条件。十

26、二、改变屏幕的宽高比 用两个resources:vpWidthF和vpHeightF可以 改变图形的宽高比。 注意:如果你要画的是一个地图,resource mpShapeMode=“FreeAspect也必须添加。十三、镶嵌 一个镶嵌的图形包括两个或多个在同一页上进 行渲染的图形对象。 最常用的镶嵌方法是通过特殊的gsn接口 gsn_panel。它假设所有的图形对象都是同样大 小的。它使用第一个参数的尺寸和形状来确定 最终显示图形的窗口。 13.1 一个简单的例子 plot = new(2,graphic) res = True rescnFillOn = True resgsnSpread

27、Colors = True resgsnDraw = False resgsnFrame = False plot(0) = gsn_csm_contour(wks,u,res) plot(1) = gsn_csm_contour(wks,v,res) resP = True resPtxString = common title“ gsn_panel(wks,plot,(/2,1/),resP) ;第一个参数为workstation,第二个参数为图形所在 的数组,第三个参数为各个图形的排列方式(在下一 节有详细的介绍),第四个数组是为最终图形设置的 resources。 13.2 在页面上定

28、位图形 gsn_panel的第三个参数是一个指定图形如何在页面 上定位的数组。这个数组简单的表示是:表示希望 显示的行和列的个数。 当你设置了特殊的resource gsnPanelRowSpec=True时, 你可以对图形的定位进行更好的控制:这时数组的 每个数表述对应行中图形的个数。 例:(/1,3,2/) 当你创建一个镶嵌的图形时,下面的resources会经 常用到,它们是为gsn_panel设置的,不能在画单独 的图形时使用。 txString: 公共的标题 gsnPanelLabelBar : 公共的label bar gsnPanelBottom : 最后一个图形的底部距窗口的距

29、离 比,它的值要大于0.0,小于1.0 gsnPanelTop : 第一个图形的顶部距窗口的距离比,它 的值要大于0.0,小于1.0 0.0 1.0 gsnPanelFigureStrings :将指定的字符串替换到每个图 形的左上角。 13.4 用不同的大小镶嵌图形 你可以手动的设置一个frame去包含不同尺寸的图形, 这样需要自己指定它在页面上的位置和尺寸。参考 下面的例子。;创建第一个图形 res = True resgsnFrame = False resvpXF = 0.2 resvpYF = 0.83 resvpWidthF = 0.6 resvpHeightF = 0.465 p

30、lot1 = gsn_csm_contour_map_polar(wks,d,res) ;创建第二个图形 sres = True sresgsnFrame = False sresvpXF = 0.15 sresvpYF = 0.3 sresvpWidthF = 0.7 sresvpHeightF = 0.18 plot2 = gsn_csm_xy(wks,x,y,sres) frame(wks)十四、字体的高度 在NCL中有很多标签和标题。它们都可以被 它们的resources控制。例如:底部的X坐标 的刻度标签的文字高度可以通过 tmXBFontHeightF来设置。labelbar的标签

31、的 文字高度可以通过lbLabelFontHeightF来控制。 附录A包含了一系列常用的文字高度 resources。十五、标题 NCL中有三种主要的标题和三种附加的标题。 主要的标题可以通过resources: tiMainString(主标题)、tiXAxisString(x坐标标 题)和tiYAxisString(y坐标标题)。 5.6节讨论了附加的标题resources: gsnLeftString, gsnRightString和 gsnCenterString.十六、说明(legend) 默认的情况下,一个x-y图形时没有说明的, 要显示说明,你必须设置 pmLegendDisplayMode = Always. 关于说明(legend)的更多信息参见附录A十七、颜色条(Label Bars) 在gsn_csm高水平图形接口中,当用户设置 resources “cnFillOn=True时,一个颜色条会被 自动的创建。 颜色条默认是水平的,在图形的下面。标签显 示在各个颜色的边缘。附录A包含了一系列的 resources可以用来修改默认的行为。也可以通 过gsn图形接口自定义一个颜色条。参考以下 链接: http:/www.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1