- 安装ncl,使用ncl_convert2nc命令转为nc文件
- ncl下载与安装:http://www.ncl.ucar.edu/Download/install.shtml
- ncl_convert2nc用法:http://www.ncl.ucar.edu/Document/Tools/ncl_convert2nc.shtml
- 安装wgrib2
- wgrib2下载与安装:http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/ (在网站最下面Source Code and Compling Hints部分)
- wgrib2读取NCEP数据帮助文档:http://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/tricks.ncep
Python代码示例:
说明:本代码的作用是为了批处理,如果对单个文件直接敲一行命令即可,或者用自己熟悉的语言批处理;代码结合了wgrib2和ncl两种方式,即先用wgrib2读取某一变量在某一范围的值出来,然后用ncl_convert2nc命令转为nc文件,以加快转换的速度。
# -*- coding:utf-8 -*-
import os
path_grib = '/Volumes/HEQIN/wind/201401'
path_gribROI = '/Volumes/HEQIN/wind/201401ROI'
count = 0
fpath = []#记录文件的路径
filename = []#记录文件名的前缀
#获取文件夹下所有grib文件的路径名
for file in os.listdir(path_grib):
if os.path.isfile(os.path.join(path_grib,file))==True:
fpath.append(os.path.join(path_grib,file))
filename.append(os.path.splitext(file)[0])
count = count+1
print(fpath,filename,count)
for i in list(range(count)):#罗列文件夹中grib2文件个数,忽略
origin_file = fpath[i]#源文件的文件路径
roi_file = path_gribROI +'/'+ filename[i] + '.grb2'#提取变量后目标文件的路径
cmd_wgrib2 = 'wgrib2 '+origin_file+' -match "(:UGRD:700 mb:anl:)|(:VGRD:700 mb:anl:)" -set_grib_type j -small_grib 100:125 25:45 '+ roi_file #核心代码,具体规则参见wgrib2的帮助
os.system(cmd_wgrib2)#相当于在系统命令行执行上述代码
cmd_ncl = 'ncl_convert2nc '+roi_file#核心代码,利用ncl直接转为nc
os.system(cmd_ncl)#注意生成的文件与该python运行的地方处于同一位置