您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页读取grib2的两个方案

读取grib2的两个方案

来源:二三四教育网
  1. 安装ncl,使用ncl_convert2nc命令转为nc文件
  • ncl下载与安装:
  • ncl_convert2nc用法:
  1. 安装wgrib2
  • wgrib2下载与安装: (在网站最下面Source Code and Compling Hints部分)
  • wgrib2读取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运行的地方处于同一位置

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务