美文网首页
读取grib2的两个方案

读取grib2的两个方案

作者: 锦鼠观天 | 来源:发表于2018-11-25 19:18 被阅读473次
  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运行的地方处于同一位置

相关文章

网友评论

      本文标题:读取grib2的两个方案

      本文链接:https://www.haomeiwen.com/subject/eyqndftx.html