数据可视化¶
气象领域也进入大数据时代了,数据的可视化在当下的需求越来越大。幸运的是,NCL作为 数据分析和可视化语言在这方面可谓功能强大。利用好这样一个工具相信能给你的科研或者 业务应用带来很大的便利。
NCL支持的文件¶
支持的文件格式¶
NCL直接支持的数据类型有以下几种:
- NetCDF,支持读、写、创建,后缀为”.nc”、”.cdf”、”.netcdf”
- GRIB 1/2 [1],支持读,后缀为”.gr”, ”.gr1”, ”.grb”, ”.grib”, ”.grb1”, ”.grib1”, ”.gr2”, “grb2”, ”.grib2”
- HDF-4,支持读、写、创建,后缀为.hdf、.hd
- HDFEOS,支持读,后缀为”.hdfeos”, “he2”, “he4”
- HDF5 [2],支持读,后缀为”.h5”
- HDFEOS 5,支持读,后缀为”.he5”
- CCM,支持读,后缀为”.ccm”
- Shapefile [3],支持读,后缀为 ”.shp” (Esri), ”.mif” (MapInfo), ”.gmt” (Generic Mapping Tools), ”.rt1” (TIGER)
[1] | GRIB2文件从4.3.0版开始支持 |
[2] | HDF5文件从6.0.0版开始支持 |
[3] | Shapefile文件从5.1.1版开始支持,注意“shpfile”文件至少要包括”.shp”、”.shx”及”.dbf”。 |
支持格式的文件读取¶
对于NCL直接支持的格式文件,读取起来相当简单,只需要使用 addfile
函数即可。
语法如下:
f = addfile(file_path, status)
参数说明,
file_path
,指定文件的绝对或相对位置,以及文件扩展名status
, 指定文件操作为读取或读写还是创建(可选方式依赖于文件的格式)注解
对于支持格式的文件在磁盘中可以没有文件扩展名, 但是需要在file_path参数中指定文件扩展名。
注解
对于以上格式的文件,也可采用批量读取的形式进行操作,所用的函数为 addfiles
。
范例¶
begin
;; 打开文件并读取850 hPa温度变量
f = addfile("fnl_20001025_18_00"+".grb", "r")
print(f) ;用print查看下文件变量的信息,会将文件中所有的变量概略打印到屏幕
temp = f->TMP_3_ISBL({850}, :, :) ;读入文件变量到变量temp中
printVarSummary(temp) ;看看变量的信息
;; 打开绘图工作台,使用X11窗口
wks = gsn_open_wks("X11", "Temperature")
;; 定义源变量并设置其属性
res = True
res@cnFillOn = True
res@cnLinesOn = False
;; 绘制等值线填色图
plot = gsn_csm_contour_map_ce(wks, temp, res)
end
- 读取文件中的变量,语法是
f->var_name
,其中f为文件句柄,而var_name则是文件f中的待读取的变量名 - 函数
printVarSummary
打印NCL变量的概略,包括维数和可能的坐标以及属性 - 属性
cnFillOn
设置等值线填色的开/关,默认为关,也就是不填色 - 属性
cnLinesOn
设置等值线线条的开/关,默认为开,也就是画线图
不出意外的话,你将看到屏幕上出现了这样一个图形窗口: