数据可视化

气象领域也进入大数据时代了,数据的可视化在当下的需求越来越大。幸运的是,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
  1. 读取文件中的变量,语法是 f->var_name ,其中f为文件句柄,而var_name则是文件f中的待读取的变量名
  2. 函数 printVarSummary 打印NCL变量的概略,包括维数和可能的坐标以及属性
  3. 属性 cnFillOn 设置等值线填色的开/关,默认为关,也就是不填色
  4. 属性 cnLinesOn 设置等值线线条的开/关,默认为开,也就是画线图

不出意外的话,你将看到屏幕上出现了这样一个图形窗口:

../_images/visual_fnl.png ../_images/donate3.png

评论