欢迎光临散文网 会员登陆 & 注册

NCL绘图一些注意事项

2022-08-07 13:52 作者:路路_不平  | 我要投稿

了解绘图需求

绘制线性图gsn_csm_xy呢还是地图gsn_csm_contour_map呢?

熟悉数据属性

什么叫熟悉数据属性?比如你手中有一组降水数据,那么你首先要了解它是站点数据还是再分析数据?是nc文件还是grib文件又或者是txt文件?

然后根据属性进行读取

nc文件:f=addfile(path,"r")

txt文件: f= asciiread(filename,-1,"string")

了解数据变量信息

了解变量信息的方式很多,比如nc文件你可以直接利用三方软件panoply

panoply

(软件需要搭建Java环境)读取打开,可以看到变量的维度、属性等。其次,利用nc_filedump查看nc文件。

nc_filedump

当然也可以直接编写ncl代码printVarSummary。

printVarSummary



一般情况下txt文件,官方为配有说明文档,如果没有说明你的文件不是官方的,记得找给你文件的人。

为什么要了解变量信息?

就像画画一样,无论是风景画还是人物肖像画,在动笔之前,都需要了解整体风景分布构造,人物轮廓(当然我不是专业画画的, 可能也有那种一上来就画的神仙画手)。

当你了解的数据的基本信息,以三维nc数据举例,X(T,lat,lon),首先你得知道X代表的是什么?降水,那是日降水还是月降水?也就是cd_calendar(T)是yyyymmdd还是yyyymm, 如果是月降水单位是mm/day还是mm/month?这些都是需要知道的,以便必要时进行单位转换。其次对于经纬度的拿捏,如果只绘制一个变量图,相对简单一点不会涉及分辨率不对应的问题;如果是多个变量进行对比,比如相关,合成分析等涉及多个变量同时出现在一张图上时,就需要考虑经纬度对应,需要将高分辨率转低分或低分辨率转高分,可以互转的前提下建议高转低,这样不会过分损失数据精确度。需要特别注意:正常情况下数据各个维度均是按顺序排列,eg. T=19900101-20220101, lat = (-90,90), lon =(-180,180), 有些数据集例外,时间,经纬度可能是倒叙排列,导致绘出来的图奇奇怪怪,这个时候就有必要检查一下经纬度信息并加以调整。

这里提一下,各位再向别人请教之前,一定要确保自己已经有效搜索过各个平台了,实在无计可施了,再去请教。

贴一个NCL官方文档,不会还有人不知道吧~https://www.ncl.ucar.edu/  如果有人不会到相关目录下查找指令,进入该网址直接Ctrl+F然后输入你要了解的函数或程序。

气象家园:http://bbs.06climate.com/  你遇到的问题这里都曾遇到过。


NCL绘图一些注意事项的评论 (共 条)

分享到微博请遵守国家法律