读取grib2的两个方案

  1. 安装ncl,使用ncl_convert2nc命令转为nc文件
  1. 安装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运行的地方处于同一位置
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容