背景
    
    :
    
    
     答主最近需要用到JRA-55再分析数据,但在面对GRIB数据格式时犯难了,便想把GRIB格式转成nc文件再做分析。因为nc文件很容易用python或Matlab处理
     
     尝试了好些方法,发现先安装NCL再用ncl来批量转换,是一种比较便捷的方式。在此记录下来与大家分享
    
    
     第一部分
    
    :安装ncl,安装过程见这个帖子,很详细。https://blog.csdn.net/littlesqgg/article/details/112716228?spm=1001.2014.3001.5506
   
    需要补充的是,在安装完时,只需要在Cygwin Terminal中输入ncl,当显示出如下内容时就表示已经安装完成。不需要像前面给出的链接中的答主那样“*
    
     输入 source ~/.bashrc,Enter执行, 再输入 ncl
    
    *”
   
$ ncl
 Copyright (C) 1995-2017 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.4.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
ncl 0>
    
     第二部分
    
    :将GRIB格式的文件批量转成nc文件
   
    
     1. 首先你需要把所有要转的GRIB文件放在一个文件夹中,如下图所示,我的文件夹中有4个文件
    
   
    
    
    
     2. 打开Cygwin terminal,并在终端中输入如下代码:
    
   
先进入到你想要存储的文件夹
cd "I:/Reanalysis/JRA-55/test"
执行转化的命令
find "I:/Reanalysis/JRA-55/test" -type f | grep -i "anl_surf" | xargs -I{} ncl_convert2nc {} -e grib
- 
     “
 
 I:/Reanalysis/JRA-55/test
 
 ” 内表示你的文件所在的路径
- 
     “
 
 anl_surf
 
 ” 表示你要转化的文件的通配符,也就是ncl会选取含有这一串字符的文件来做转化
    
     3. 在输完上述代码后,就会显示如下信息,则说明文件被转化成nc文件了:
    
   
$ find "I:/Reanalysis/JRA-55/test" -type f | grep -i "anl_surf" | xargs -I{} ncl  _convert2nc {} -e grib
Processing file: I:/Reanalysis/JRA-55/test/anl_surf.033_ugrd.reg_tl319.196001_19  6012...
 Copyright (C) 1995-2017 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.4.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
Classic model NetCDF does not support string types, converting initial_time0 to   a character array
Dimension 'ncl_strlen_0' will be added
    
     4. 打开文件夹查看,发现得到了生成的nc文件
    
    
    
    
     第三部分
    
    :将单个GRIB文件转成nc文件(比批量简单)
   
    
     1. 先转到你想要存储的文件夹
    
   
cd "I:/Reanalysis/JRA-55/test"
    
     2. 输入转化命令
    
    
    下述引号内为要转的GRIB文件的路径
   
ncl_convert2nc "I:/Reanalysis/JRA-55/6-hourly/anl_surf.033_ugrd.reg_tl319.2019010100_2019013118" -e grib
    
     3. 显示如下代码则表示成功
    
   
Processing file: anl_surf.033_ugrd.reg_tl319.2019010100_2019013118...
 Copyright (C) 1995-2017 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.4.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
Classic model NetCDF does not support string types, converting initial_time0 to a character array
Dimension 'ncl_strlen_0' will be added
 
