Cmd Grib到netcdf,具有4个维度和多个变量

Cmd Grib到netcdf,具有4个维度和多个变量,cmd,netcdf,grib,Cmd,Netcdf,Grib,我正在尝试使用wgrib2将grib文件转换为netcdf。我正在Windows 10上工作。我的grib文件有4个维度和2个变量: 我的两个变量是温度和总降水率,具有以下维度:时间(长度20)、ens(长度50)、lat(长度27)和lon(长度21) 我尝试通过以下命令行使用wgrib: wgrib2.exe MyFile.grib -netcdf Output.nc netcdf文件已写入,但两个变量(时间、纬度、经度)只有三个维度,因此“ens”变量被删除。我在文档中看到wgrib2

我正在尝试使用wgrib2将grib文件转换为netcdf。我正在Windows 10上工作。我的grib文件有4个维度和2个变量:

我的两个变量是温度和总降水率,具有以下维度:时间(长度20)、ens(长度50)、lat(长度27)和lon(长度21)

我尝试通过以下命令行使用wgrib:

wgrib2.exe MyFile.grib -netcdf Output.nc
netcdf文件已写入,但两个变量(时间、纬度、经度)只有三个维度,因此“ens”变量被删除。我在文档中看到wgrib2主要管理3D

所以我想从我的grib文件中提取50个文件,每个集合成员1个,然后将这50个文件转换为netcdf文件。由于R,我将创建一个合并的netcdf文件。为此,我尝试了以下命令行:

wgrib2.exe MyFile.grib -match ':ens=1:' -grib Output_1.grib
然后我想做:

wgrib2.exe Output_1.grib -netcdf Output_1.nc
但是ens=1的提取不起作用,写入了一个文件,但其权重为0Ko。唯一有效的命令是:

wgrib2.exe MyFile.grib -if ':ens=1:' > Output_1.grib
它创建了一个24Ko文件,但我试图打开它或将其转换为netcdf,它不起作用。我用记事本打开了它,它给出了一个两列的文件和数字

有人能帮我提取每个集合成员(ens)的变量吗? 我不能使用cdo,因为我不能安装cygwin,我安装程序的能力非常有限(公司环境)


感谢

去年,ECMWF发布了一个名为“cfgrib”的python包。它基于ECCODE和xarray。你需要10行代码来完成你想要的。cfgrib是一款非常棒的软件。谢谢你的技巧,我终于在我的个人电脑上使用了Linux和cdo。。。在Windows上如此有限。。。