安装ncl,使用ncl_convert2nc命令转为nc文件

安装wgrib2

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运行的地方处于同一位置

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐