Exmaple5——contour plots over maps

上传人:e****s 文档编号:1348157 上传时间:2017-06-08 格式:DOCX 页数:10 大小:51.50KB
返回 下载 相关 举报
Exmaple5——contour plots over maps_第1页
第1页 / 共10页
Exmaple5——contour plots over maps_第2页
第2页 / 共10页
Exmaple5——contour plots over maps_第3页
第3页 / 共10页
Exmaple5——contour plots over maps_第4页
第4页 / 共10页
Exmaple5——contour plots over maps_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《Exmaple5——contour plots over maps》由会员分享,可在线阅读,更多相关《Exmaple5——contour plots over maps(10页珍藏版)》请在金锄头文库上搜索。

1、Exmaple5contour plots over maps这个示例从 netCDF 文件中读取数据,并且展示如何命名维度。如何获得现有的颜色图并且改变它的值,如何在各种地图投影上叠加等值线图,如何填充特定的等值线,如何掩蔽,如何在你任意想要的位置绘制文本字符串。这个示例从 netCDF 文件中读取数据并且在不同的地图投影上创建了 4 个等值线图。从等值线和地图两个方面改变了 resources。运行这个示例,必须下载以下文件:gsun05n.ncl,然后键入: ncl gsun05n.ncl示例 5 代码及解释1. load $NCARG_ROOT/lib/ncarg/nclscripts

2、/csm/gsn_code.ncl2. 3. begin4. data_dir = ncargpath(data) ; Get ready to open three netCDF files.5. cdf_file1 = addfile(data_dir + /cdf/941110_P.cdf,r)6. cdf_file2 = addfile(data_dir + /cdf/sstdata_netcdf.nc,r)7. cdf_file3 = addfile(data_dir + /cdf/Pstorm.cdf,r)打开三个 netCDF 文件,cdf_file1、cdf_file2 和 c

3、df_file3 是在 addfile 函数中指定的三个文件。8. 9. psl = cdf_file1-Psl ; Store some data from the three netCDF10. sst = cdf_file2-sst ; files to local variables.11. pf = cdf_file3-p从刚刚打开的三个 netCDF 中读取一些数据,并且将它们存储在本地的NCL 变量中。psl 是一个在纬度/经度格点测量的压力值的 2 维数组,sst 是一个在纬度/经度和 12 个不同时间步长上测量的海洋表面温度的 3 维数组。pf 是在纬度/ 经度格点和 64

4、个不同时间步长上测量的压力值的 3 维数组。请注意:本地 NCL 变量和 netCDF 文件变量中所使用的不同的变量名字(如,pf 和 cdf_file-p) 。这是可以选择的,此示例中是为了展示你可以给你想要命名的变量随意命名。12. 13. pslnlon = dimsizes(psl&lon) ; Store the sizes of the lat/lon 14. pslnlat = dimsizes(psl&lat) ; arrays as attributes of the psl15. pfnlon = dimsizes(pf&lon) ; and pf variables.16

5、. pfnlat = dimsizes(pf&lat)Psl 和 pf 都包含叫做 “lat”和“lon”的坐标变量,因此获得这些属性变量的常量并且把它们的值以 psf 和 pf 的属性存储起来。17. 18. sst!1 = lat ; Name dimensions 0 and 1 of sst19. sst!2 = lon ; lat and lon.20. sst&lat = cdf_file2-lat ; Create coordinate variables21. sst&lon = cdf_file2-lon ; for sst and store the sizes22. ss

6、tnlon = dimsizes(sst&lon) ; of the arrays as attributes 23. sstnlat = dimsizes(sst&lat) ; of sst.sst 唯一的坐标变量是 “time”,和它的第一个维度相对应(这是在先前的文件中事先确定的) 。使用 iscoord 函数来确定变量是否含有该特定的坐标变量。在 18-21 行中,因为 sst 只有第一个维度是命名过的,你可以给 sst 创建named dimensions 和叫做 “lat”和“lon”的第二个、第三个坐标变量。在 22-23行,存储 lat 和 lon 数组的长度作为 sst 变量

7、。请记住:为了创建另一个变量的坐标变量,它必须与变量的一个 named dimension 有相同的名字。24. 25. wks = gsn_open_wks(x11,gsun05n) ; Open a workstation.26. 27. ;- Begin first plot -在地理图上绘制等值线图。28. 29. resources = True30. 31. resourcessfXCStartV = min(psl&lon) ; Define where contour plot32. resourcessfXCEndV = max(psl&lon) ; should lie o

8、n the map plot.33. resourcessfYCStartV = min(psl&lat)34. resourcessfYCEndV = max(psl&lat)为了在一个地图上重复显示任何图,必须在地图上指定你想要显示地图的经度和纬度值。这是通过在重复显示的图上的经度坐标指定 X 轴坐标,在纬度坐标指定 Y 轴坐标来完成的。对于一个等值线图,如果你的网格是等间距分布的,那么你可以使用ScalarFieldresources sfXCStartV 和 sfXCEndV 来设定 X 轴的最小值和最大值,使用 sfYCStartV 和 sfYCEndV 来设定 Y 轴的最小值和最大

9、值。如果你有等间距分布的数组值来表示坐标轴,那么你可以使用 sfXArray 和 sfYArray resources 来设置数组值。如果你的网格不是等间距分布的,你必须使用在 example 2 示例 2 中描述的 sfXArray 和 sfYArray 来确定坐标轴的范围。在这个示例中,使用*StartV 和*EndV resources 来确定纬度、经度坐标轴的最小值和最大值。因为 psl&lat 和 psl&lon 是 psl 的坐标变量,这就意味着它们代表了测量 psl的维度值和经度值。因此,使用这些坐标变量莱维重复显示的等值线图提供经度/维度值的最小值和最大值。min 和 max

10、函数能够提取任何维度的数组并且返回该数组的最小值和最大值。请注意:如果你没有为确定 X 和 Y 轴的最小值和最大值设定任何的ScalarField resources,那么最小值的默认值是 0.0,最大值的默认值分别是 n-1和 m-1,n 是 psl 在 X 方向上的点的个数,m 是 psl 在 Y 方向上的点的个数。这将导致等值线图会在纬度/经度(0.,0.,)和(m-1,n-1)角落显示,而并没有任何意义。35. 36. map = gsn_contour_map(wks,psl,resources) ; Draw contours over a map.在地图上创建并且绘制 psl 变

11、量的等值线图。默认的地图投影是圆柱等距投影。gsn_contour_map 函数的第一个参数是对于前一个调用 gsn_open_wks 的返回的工作站变量。接下来的参数是将要绘制的 2 维标量场,可以是float、 double 或者 integer 类型。最后的参数是逻辑值,表明是否设置了任何的resources。请注意:等值线图覆盖了整张梯度。这是因为在 31-34 行中指定的纬度值是从-9090,经度值是从 -180180(可以通过使用 print 来将这些值打印出来而验证) 。非常重要,请注意:gsn_contour_map 函数实际上是创建了两个图,等值线图和地图。地图是从函数返回的

12、,等值线图是作为叫做“contour”地图的一个变量返回的。当你在一个图上覆盖另外一个图时,被覆盖的图叫做“基图” ,覆盖在基图上的图叫做“覆盖图” 。函数 gsn_*创建这些覆盖图通常以函数值范围基图,同时覆盖图通常是基图的属性。当你使用 setvalues 语句来改变resourcees 时,这些信息变得非常有用,见 example 9 示例 9。37. 38. ;- Begin second plot -在正投影上绘制 sst(海洋表面温度)第一个时间步长的等值线图,并且为以 stipple 类型来填充等值线、隐蔽陆地上的等值线使等值线图显得稍大来设置一些 resources。介绍一些等

13、值线绘制顺序和地图组件的概念(这是为了使你得到想要的隐蔽的效果) 。39. 40. getvalues wks ; Retrieve the default color map.41. wkColorMap : cmap42. end getvalues使用 getvalues 获得使用的默认的颜色图并且将它存储在当地变量中(在该例中是 cmap,但是你可以随意称呼该变量) 。颜色图和你用 gsn_open_wks 中调用而打开的工作站是相联系的,因此它是“Workstation”resources 组中的一部分,以“wk”开头。default color map 默认的颜色图有 32 个条目

14、(每个条目都是 RGB 值) ,所以 NCL 为 cmap 分配了一个 323 的 float 数组。在示例 4 example 4 中更加详细的描述了 getvalues 语句。43. 44. cmap(0,:) = (/1.,1.,1./) ; Change background to white.45. cmap(1,:) = (/0.,0.,0./) ; and foreground to black.46. gsn_define_colormap(wks, cmap)颜色 index0 和 1 分别代表了背景色和前景色,在默认情况下,背景色是黑色而前景色是白色。使用刚刚获得的颜色图(

15、cmap) ,将背景色设为白色,前景色设为黑色。用 RGB 值来设置颜色,白色用(1.,1.,1.)表示、黑色用(0.,0.,0.)表示。在示例 2 example 2 中包含着了更多创建自己颜色图的细节。47. 48. resourcesmpProjection = Orthographic ; Change the map projection.49. resourcesmpCenterLonF = 180. ; Rotate the projection.使用 mpProjection resource,将地图投影改为“Orthographic ”(默认的是“CylindricalEquidistant”) ,并且旋转地球使得中央经度为 180(默认值是 0) 。这有两种地图 resources,一种是地图投影(“MapTransformation” ) ,另一个是对于所有地图的(“MapPlot” ) 。两个组的 resources 都是以“mp ”开

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 物业管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号