彭 松
(上海市敬业中学, 上海 200010)
NetCDF数据的可视化方法
彭 松
(上海市敬业中学, 上海 200010)
摘要:对NetCDF数据格式做了通俗的解释,并列举了NetCDF数据获取的渠道。利用Panoply软件对NetCDF数据进行可视化,通过三个实例具体说明了利用Panoply进行可视化的三种常见方法。
关键词:NetCDF;可视化
NetCDF(Network Common Data Form)是网络通用数据格式的简称,是由大气研究合作组织(UCAR)的科学家开发的。NetCDF最初用于存储气象数据,现在已经成为许多数据采集软件的常用文件格式,目前广泛应用于大气科学、水文、海洋学、环境模拟等诸多领域。
可以将NetCDF数据简单地理解为一个包含有多个Excel文件的文件夹,这些Excel文件有的包含气温数据,有的包含降水数据。打开包含气温数据的文件,会发现里面有很多以不同时间命名的工作表,每个工作表的列名相当于经度,行名相当于纬度,每个单元格中的数据就是这个经纬度在这个时间的气温,如图1所示。可见NetCDF是一种多维数据,高度也是常见的一个维度,NetCDF经常以四维数据的形式储存,这也为我们按不同维度进行可视化提供了可能。
图1
NetCDF的数据源非常多,NetCDF文件的扩展名为nc,很多网站可以免费下载。例如,美国国家环境预报中心(NCEP)发布的气候再分析数据,美国国家海洋和大气管理局(NOAA)编辑发布的海洋与大气综合数据集(COADS)均采用NetCDF作为标准。
能够对NetCDF数据进行可视化的软件很多,如GrADS、NCL、IDV等,这些软件功能强大,但对于中学教师来说过于复杂,而且有些软件还需要在命令行下操作,这更加大了学习和使用的难度。Panoply软件的出现将可视化的难度大大降低,它操作简单,界面友好,是一个不可多得的好软件。
1.Panoply的下载和安装
软件可以到它的官方网站(http://www.giss.nasa. gov/tools/panoply)下载。软件是用JAVA编写的,所以必须安装JAVA运行环境,如果没有安装可以到JAVA网站(http://www.java.com/zh_CN)下载安装。将Panoply的压缩包解压后,双击Panoply.exe就可以打开数据源窗口。
2.Panoply制图
(1)二维分布图
因为NetCDF一般都含有经纬度坐标,所以可以将变量直接绘制成二维地图。以NCEP气候再分析资料的气温为例,首先下载数据(ftp://ftp.cdc.noaa.gov/ Datasets/ncep.reanalysis.derived/surface/air.mon.mean. nc),将下载好的文件用鼠标直接拖到Panoply的数据源窗口中,窗口的左侧将列出数据集中的所有变量,但并不是所有的变量都能绘图。我们选择air这个变量,然后右键单击,在弹出的菜单中选择“Create Extra Small Plot”,当然也可以根据需要选择其它大小。然后会弹出一个对话框,选择第一个单选按钮,如图2所示,按“Create”键就可以绘图了,生成的地图如图3所示。
图2
图3
在绘图区下面的“Array(s)”标签下可以看到,这个数据集是由804个时间的全球气温数据构成的,默认显示的是第一个时间(1948-01-01 00:00:00)的气温分布。通过单击时间下拉列表可以显示不同时间段的气温分布状况,由于下拉列表比较长,也可以直接更改“Time”后面的数字。
点击绘图区上面的“Array 1”标签,我们可以看到一个电子表格,表格里面存储的就是这一时间全球的气温数据。Panoply的主要功能是绘图,所以并不能对数据进行编辑和修改。在nc文件中并没有地图数据,绘图区中的世界地图是软件自动添加的。Panoply自带了一些地图,可以在绘图区下面的“Overlay”标签中进行更改,Panoply可以同时使用两张底图,并可以对底图的轮廓线进行更改。如果这些底图还不能满足要求,可以到Panoply的官网下载其它底图。
用同样的方法可以制作降水分布图、盐度分布图等。可见通过简单的几步就能利用真实数据制作出精美的专题地图。由于NetCDF数据是多维数据,所以这些分布图可以精确到某日某时,这为研究性学习和命题创造了条件。
(2)一维分布图
Panoply还可以将经度、纬度、高度(或深度)或时间作为横坐标,将变量作为纵坐标来绘制一维分布图。在图2所示的那一步,选择第三个单选按钮,在“along”后面的下拉列表中可以选择自变量,先选择“lat”(纬度),点击“Create”键就可以生成一张平均温随纬度的变化图,如图4所示。自变量选择“lon”(经度)或者“time”(时间)可以生成相应的一维分布图。这种一维分布图可以让学生对地理要素的空间分布有一个宏观的认识,用于测试学生的地理空间素养。
图4
(3)联合制图
Panoply可以将两个nc文件的数据组合在一起进行制图,比较常见的是风向和洋流图。NetCDF数据将这样的矢量数据分为纬向(向东为正)和经向(向北为正)两个分量,Panoply可以将这两个变量按平行四边形法则进行合成,用箭头表示出来,箭头的方向为矢量方向,长度为大小。首先下载地表风向的纬向分量数据(ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis. derived/surface/uwnd.mon.mean.nc)和经向分量数据(ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis.derived/ surface/vwnd.mon.mean.nc)。点击数据源窗口右上角的“Remove All”按钮,将原来载入的气温数据移除,将两个风向数据拖入到窗口中,按着前述方法先绘制“uwnd”的二维分布图,然后在数据集中选中“vwnd”,点击数据源窗口上的“Combine Plot”按钮,在弹出的对话框中点击“Combine”,绘图窗口会生成一张新的地图,观察绘图区下面的“Array(s)”标签中是“Array1-Array2”,点击它然后选择最后一项“Vector Magnitude”(适量合成),这样风向图就绘制完成了。然后再进行简单的修饰,可以发现颜色和之前不大一样,选择“Scale”标签,选中“Always fit to data”前面的复选框,这样颜色就按数据进行重新分配了。如果想研究东亚季风,可以按住“CTRL”键用鼠标框选东亚地区,也可以对地图投影进行变换,Panoply自带多种投影,选择“Map”标签,在“Projection”后面的下拉列表框中选择“Albers Equal-Area Conic”投影,投影参数见图5。
图5
再对“Vector”标签下的参数进行设置,如图6所示。
图6
这样就可以生成一张1948年1月的东亚地表平均风场图,见图7。同理可以制作东亚的夏季风图,可以用于课堂教学也可以用于学生的研究性学习。
图7
联合制图不仅能绘制矢量图,还能绘制两个变量相减的图,如降水量减蒸发量。
实践发现只要有相应的NetCDF数据,Panoply就可以生成所需的图像,而且Panoply还可以将数据按时间输出为视频文件。利用Panoply软件对NetCDF数据进行可视化,可以丰富地理课程资源,为地理课堂教学和评价提供丰富的素材。